.net mvc epplus.interfaces调用接口数据简单导出excel文件
时间: 2023-05-24 11:02:11 浏览: 223
你可以使用EPPlus来导出Excel文件。首先,你需要使用EPPlus.interfaces库来调用接口数据,然后将数据存储到一个DataTable中。接下来,你可以使用EPPlus库来创建一个Excel文档,并将DataTable中的数据导入到Excel工作表中。
这是一个示例代码来演示如何使用EPPlus.interfaces库来获取接口数据并将其导出到Excel文件中:
```
using System.Data;
using System.Web.Mvc;
using OfficeOpenXml;
using OfficeOpenXml.Style;
using EPPlusExample.Models;
namespace EPPlusExample.Controllers
{
public class ExcelController : Controller
{
// GET: Excel
public ActionResult Index()
{
return View();
}
// GET: Excel/ExportData
public void ExportData()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] {
new DataColumn("Id", typeof(int)),
new DataColumn("Name", typeof(string)),
new DataColumn("Gender", typeof(string))
});
// TODO: 调用接口获取数据并将其存储到DataTable中
// ...
byte[] fileContents;
using (ExcelPackage package = new ExcelPackage())
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Data");
worksheet.Cells["A1"].LoadFromDataTable(dt, true);
worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
worksheet.Cells[worksheet.Dimension.Address].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
fileContents = package.GetAsByteArray();
}
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "attachment; filename=Data.xlsx");
Response.BinaryWrite(fileContents);
Response.Flush();
Response.End();
}
}
}
```
其中,DataTable `dt` 存储接口获取的数据,`LoadFromDataTable` 将数据导入到Excel工作表中,`AutoFitColumns` 自动适应列宽,`Style.HorizontalAlignment` 设置单元格居中对齐。最后,使用 Response 将 Excel 文件以二进制形式返回给客户端下载。
注意:这里的代码仅供参考,实际应用中根据具体情况进行修改。
阅读全文