.net mvc 数据库有一万条数据用epplus该如何导出excel视图控制器全过程
时间: 2023-05-20 09:06:37 浏览: 154
基于Epplus开发的 _Excel_ (支持 _excel_ 2007及之后版本)通用导入导出类库(支持.net core)
首先,您需要在视图控制器中添加一个方法,该方法将使用 EPPlus 库将数据导出到 Excel 文件中。以下是一个示例方法:
```csharp
public ActionResult ExportToExcel()
{
// 获取数据
var data = db.MyTable.ToList();
// 创建 Excel 文件
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
using (var package = new ExcelPackage())
{
// 添加工作表
var worksheet = package.Workbook.Worksheets.Add("My Data");
// 添加表头
worksheet.Cells[1, 1].Value = "ID";
worksheet.Cells[1, 2].Value = "Name";
worksheet.Cells[1, 3].Value = "Value";
// 添加数据
int row = 2;
foreach (var item in data)
{
worksheet.Cells[row, 1].Value = item.ID;
worksheet.Cells[row, 2].Value = item.Name;
worksheet.Cells[row, 3].Value = item.Value;
row++;
}
// 设置列宽
worksheet.Column(1).Width = 10;
worksheet.Column(2).Width = 20;
worksheet.Column(3).Width = 30;
// 返回 Excel 文件
return File(package.GetAsByteArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "MyData.xlsx");
}
}
```
在此示例中,我们首先获取数据,然后使用 EPPlus 创建一个 Excel 文件。我们添加一个名为“ My Data”的工作表,并在第一行添加表头。然后,我们将数据添加到工作表中,并设置列宽。最后,我们将 Excel 文件作为文件流返回给客户端。
在您的视图中,您可以添加一个链接或按钮,以调用此方法并导出数据。例如:
```html
<a href="@Url.Action("ExportToExcel")">Export to Excel</a>
```
这将生成一个链接,当用户单击它时,将调用“ ExportToExcel”方法并下载 Excel 文件。
阅读全文