您需要使用 EPPlus 之类的库将 Excel 创建为 abyte[]
或 a 。Stream
然后,您可以使用 FileActionResult 提供此服务:
public ActionResult CreateExcel()
{
var data=_repository.GetExcelData();
byte[] excel=CreateExcelAsByteArray(data);
return File(excel, "application/vnd.ms-excel", "excel.xlsx");
}
使用此方法,您可以提供动态创建的 Excel 文件。
更新:要创建 excel 文件,您可以使用 EPPlus:
public byte[] CreateExcelAsByteArray(IEnumerable<int> elems)
{
using(var ms=new MemoryStream())
using(var package=new ExcelPackage())
{
var ws = package.Workbook.Worksheets.Add("worksheet");
int i=1;
foreach(var elem in elems)
{
ws.Cells("A"+i).Value=elem;
i++;
}
package.SaveAs(ms);
return ms.ToArray();
}
}