【发布时间】:2020-11-18 11:21:00
【问题描述】:
您好,我正在尝试使用 ClosedXml 包进行导出和返回 Excel 函数。它在演示项目上运行良好。我必须为原始项目制作它,所以这是代码。这是一个 IActionResult
public class HomeController : Controller
{
private List<Employee> employees = new List<Employee>
{
new Employee{ Id=1,Name="Jr.Dev",Role="Dev"},
new Employee{ Id=2,Name="Jr.Dev2",Role="Dev2"},
new Employee{ Id=3,Name="Jr.Dev3",Role="Dev3"},
new Employee{ Id=4,Name="Jr.Dev4",Role="Dev4"},
new Employee{ Id=5,Name="Jr.Dev5",Role="Dev5"},
};
public IActionResult Index()
{
return Excel();
}
public IActionResult Excel()
{
using (var workbook = new XLWorkbook())
{
var worksheet = workbook.Worksheets.Add("Employees");
var currentRow = 1;
worksheet.Cell(currentRow, 1).Value = "Id";
worksheet.Cell(currentRow, 2).Value = "Name";
worksheet.Cell(currentRow, 3).Value = "Role";
foreach (var item in employees)
{
currentRow++;
worksheet.Cell(currentRow, 1).Value = item.Id;
worksheet.Cell(currentRow, 2).Value = item.Name;
worksheet.Cell(currentRow, 3).Value = item.Role;
}
using (var stream = new MemoryStream())
{
workbook.SaveAs(stream);
var content = stream.ToArray();
return File(content, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Employee.xlsx");
}
}
}
}
真的很好用,还能下载 xlsx 文件。
我只想从导出 Excel 之类的视图中调用并使用视图模型调用它。我怎样才能用最佳实践来实施它。谢谢
【问题讨论】:
-
这个函数单独工作很好,但是如何让它可以调用
-
“最佳”是什么意思? “最佳”的定义因人而异。
-
嗨@pandakun,我的回答是否帮助您解决了您的问题?如果可以,请您接受作为答案吗?如果没有,请您跟进让我知道吗?参考:How to accept as answer .谢谢。