.net 调取api接口直接输出excel

[Route("DownloadOrders")]
[HttpPost]
public IActionResult DownloadOrders()
{
var input = new GetStudentByIdInput();
var list = _studentService.QueryStudentsByClassNo(input).Result;
var path = "./UploadFile/Export/";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
path += "student.xlsx";

using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write))
{
IWorkbook workbook = new XSSFWorkbook();
var sheet = workbook.CreateSheet("orders");
var header = sheet.CreateRow(0);
header.CreateCell(0).SetCellValue("ID");
header.CreateCell(1).SetCellValue("Name");
header.CreateCell(2).SetCellValue("CreateTime");

var index = 1;
foreach (var item in list)
{
var datarow = sheet.CreateRow(index);
datarow.CreateCell(0).SetCellValue(item.ID);
datarow.CreateCell(1).SetCellValue(item.Name);
datarow.CreateCell(2).SetCellValue(item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"));
index++;
}
workbook.Write(fs);
}

var memory = new MemoryStream();
using (var stream = new FileStream(path, FileMode.Open))
{
stream.CopyTo(memory);
}
memory.Position = 0;
return File(memory, "application/vnd.ms-excel", "order.xlsx");
}

posted @   W(王甜甜)  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示