asp.netcore 导出excel
时间: 2024-08-14 18:06:04 浏览: 78
ASP.NET Core 中导出 Excel 可以通过一些开源库来实现,比如 EPPlus、Microsoft Excel SDK 或者 ClosedXML。EPPlus是一个流行的轻量级库,它允许你在 .NET 应用程序中创建、读取和修改Excel文件,包括XLSX格式。
以下是使用EPPlus简单实现Excel导出的一个示例:
```csharp
using OfficeOpenXml;
using System.IO;
public IActionResult ExportToExcel(DataTable dataTable)
{
string fileName = "Export.xlsx";
using (var package = new ExcelPackage(new FileInfo(fileName)))
{
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
// 将数据表内容复制到工作表
for (int i = 0; i < dataTable.Columns.Count; i++)
{
worksheet.Cells[1, i + 1].Value = dataTable.Columns[i].ColumnName;
}
for (int i = 0; i < dataTable.Rows.Count; i++)
{
for (int j = 0; j < dataTable.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1].Value = dataTable.Rows[i][j];
}
}
// 设置文件响应头为下载
var memoryStream = package.GetAsByteArray();
return File(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName);
}
}
```
在这个例子中,首先创建了一个ExcelPackage对象,然后添加一个新的工作表并填充数据。最后将Excel文件作为二进制流返回给浏览器以供下载。
阅读全文