.net mvc 数据库用epplus导出execl控制器视图全过程
时间: 2023-05-17 15:06:17 浏览: 127
首先,您需要在控制器中编写代码来查询数据库并将数据存储在一个 DataTable 对象中。然后,您需要使用 EPPlus 库来创建一个 ExcelPackage 对象,并将 DataTable 中的数据写入 Excel 工作表中。最后,您需要将 ExcelPackage 对象转换为字节数组并将其返回给视图,以便用户可以下载 Excel 文件。以下是示例代码:
控制器代码:
```
public ActionResult ExportToExcel()
{
// 查询数据库并将数据存储在 DataTable 对象中
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection("YourConnectionString"))
{
SqlCommand cmd = new SqlCommand("SELECT * FROM YourTable", con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
dt.Load(reader);
}
// 创建 ExcelPackage 对象并将数据写入 Excel 工作表中
ExcelPackage pck = new ExcelPackage();
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1");
ws.Cells["A1"].LoadFromDataTable(dt, true);
// 将 ExcelPackage 对象转换为字节数组并将其返回给视图
byte[] fileContents = pck.GetAsByteArray();
return File(fileContents, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "YourFileName.xlsx");
}
```
视图代码:
```
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Export to Excel</title>
</head>
<body>
<a href="@Url.Action("ExportToExcel")">Export to Excel</a>
</body>
</html>
```
请注意,您需要将 "YourConnectionString" 和 "YourTable" 替换为您自己的数据库连接字符串和表名。
阅读全文