webapi 导出excel
时间: 2023-07-21 10:07:00 浏览: 138
web 导出EXCEL
5星 · 资源好评率100%
要在 WebAPI 中导出 Excel,您可以使用以下步骤:
1. 安装 NuGet 包:Microsoft.Office.Interop.Excel 和 Microsoft.AspNet.WebApi.Core。
2. 创建一个新的 Excel 工作簿,将数据填充到工作表中。
3. 使用 Microsoft.Office.Interop.Excel 库将工作簿保存为文件。
以下是一个示例代码:
```csharp
using System.Net.Http;
using System.Web.Http;
using Microsoft.Office.Interop.Excel;
public class ExcelController : ApiController
{
[HttpGet]
public HttpResponseMessage DownloadExcel()
{
// 创建 Excel 应用程序
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Add();
Worksheet worksheet = workbook.Sheets[1];
// 填充数据到工作表中
worksheet.Cells[1, 1] = "姓名";
worksheet.Cells[1, 2] = "年龄";
worksheet.Cells[2, 1] = "张三";
worksheet.Cells[2, 2] = "20";
worksheet.Cells[3, 1] = "李四";
worksheet.Cells[3, 2] = "25";
// 将工作簿保存为文件
string filePath = @"C:\temp\test.xlsx";
workbook.SaveAs(filePath);
// 关闭 Excel 应用程序
workbook.Close();
excelApp.Quit();
// 返回 Excel 文件
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(filePath, FileMode.Open);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-excel");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "test.xlsx"
};
return result;
}
}
```
在上面的示例代码中,我们创建了一个名为 `DownloadExcel` 的 WebAPI 方法,该方法返回一个 `HttpResponseMessage` 对象。该方法将创建一个新的 Excel 工作簿,并将数据填充到工作表中。然后,它将工作簿保存为文件,并返回一个带有 Excel 文件的响应消息。
阅读全文