尝试做一个.NET简单、高效、避免OOM的Excel工具 (3)

效能:

image

例子 : ASP.NET Core 3.1 or MVC 5 下载 Excel Xlsx API Demo public class ExcelController : Controller { public IActionResult Download() { var values = new[] { new { Column1 = "MiniExcel", Column2 = 1 }, new { Column1 = "Github", Column2 = 2} }; var stream = new MemoryStream(); stream.SaveAs(values); return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "demo.xlsx"); } } Excel 类别自动判断

MiniExcel 预设会根据扩展名或是 Stream 类别判断是 xlsx 还是 csv,但会有失准时候,请自行指定。

stream.SaveAs(excelType:ExcelType.CSV); //or stream.SaveAs(excelType:ExcelType.XLSX); //or stream.Query(excelType:ExcelType.CSV); //or stream.Query(excelType:ExcelType.XLSX); Dynamic Query 转换 IDictionary<string,object> 数据 foreach(IDictionary<string,object> row = MiniExcel.Query(path)) { //.. } 局限与警告

目前不支援 xls (97-2003) 或是加密文件。

不支援样式、字体、宽度等修改,因为 MiniExcel 概念是只专注于值数据,借此降低内存消耗跟提升效率。

参考

读取逻辑 : ExcelDataReader

API 设计方式 : StackExchange/Dapper

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxsyf.html