C# 将DataTable 中的数据导出为 .xlsx 文件,并返回给客户端下载。
时间: 2024-03-09 19:45:08 浏览: 210
您可以使用以下代码来将 DataTable 中的数据导出为 .xlsx 文件,并将其返回给客户端:
```csharp
using System.Data;
using System.IO;
using ClosedXML.Excel;
public void ExportToExcel(DataTable dataTable, string fileName)
{
using (XLWorkbook workbook = new XLWorkbook())
{
workbook.Worksheets.Add(dataTable, "Sheet1");
using (MemoryStream stream = new MemoryStream())
{
workbook.SaveAs(stream);
byte[] bytes = stream.ToArray();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ".xlsx");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.End();
}
}
}
```
在这个代码中,我们首先使用 ClosedXML.Excel 库创建一个新的工作簿,并将 DataTable 添加到工作簿中的一个名为 "Sheet1" 的工作表中。然后,我们将工作簿保存到一个内存流中,并将内存流中的字节转换为一个字节数组。接下来,我们将该字节数组返回给客户端,让客户端能够下载该文件。最后,我们使用 HttpContext.Current.Response.End() 方法终止响应,以确保不会有其他内容被发送到客户端。
阅读全文