摘要:致力于挖掘功能强大、性能优越、创新前沿且简单易用的 C#/.NET 开源框架、项目、类库与工具。助力 .NET 开发者轻松解锁并运用这些实用的宝藏资源,提升开发效率与创新能力!
致力于挖掘功能强大、性能优越、创新前沿且简单易用的 C#/.NET 开源框架、项目、类库与工具。助力 .NET 开发者轻松解锁并运用这些实用的宝藏资源,提升开发效率与创新能力!
MiniExcel 是一个简单高效的 .NET 处理 Excel 查、写、填充数据的实用工具类库,旨在避免内存溢出(OOM)问题。目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。
MiniExcel 适用于需要高效处理大量 Excel 数据的各种场景,包括但不限于:
大数据导入导出。
Excel 报表生成。
数据分析与处理。
Web 应用中的 Excel 文件上传下载。
低内存消耗:避免内存溢出(OOM)和频繁的垃圾回收(GC)。
实时行操作:支持对每一行数据进行实时操作。
LINQ 延迟执行:支持低消耗、快速分页和其他复杂查询。
轻量级:无需安装 Microsoft Office,无 COM+ 依赖,DLL 大小小于 150KB。
易用 API:提供简洁易用的 API 风格,方便读写和填充 Excel 文件。
{
public Guid ID { get;set; }
public string Name { get;set; }
public DateTime BoD { get;set; }
public int Age { get;set; }
public bool VIP { get;set; }
public decimal Points { get;set; }
}
var rows = MiniExcel.Query(path);
// or
using (var stream = File.OpenRead(path))
var rows = stream.Query;
foreach (var sheetNameinsheetNames)
{
var rows = MiniExcel.Query(path, sheetName: sheetName);
}
指定单元格开始读取数据MiniExcel.Query(path,useHeaderRow:true,startCell:"B3")
{
FillMergedCells =true
};
var rows = MiniExcel.Query(path, configuration: config);
来源:opendotnet