效!
1.简介
MiniExcel简单、⾼效避免OOM的.NET处理Excel查、写、填充数据⼯具。⽬前主流框架如Npoi 需要将数据全载⼊到内存⽅便操作,但这会导致内存消耗问题。
MiniExcel 尝试以 Stream ⾓度写底层算法逻辑,能让原本1000多MB占⽤降低到⼏MB,避免内存不够情况。 2.特点
低内存耗⽤,避免OOM(out of memoery)、频繁 Full GC 情况⽀持即时操作每⾏数据
兼具搭配 LINQ 延迟查询特性,能办到低消耗、快速分页等复杂查询轻量,不需要安装 Microsoft Office、COM+,DLL⼩于150KB简便操作的 API 风格。 3.特点
低内存耗⽤,避免OOM(out of memoery)、频繁 Full GC 情况⽀持即时操作每⾏数据,
兼具搭配 LINQ 延迟查询特性,能办到低消耗、快速分页等复杂查询轻量,不需要安装 Microsoft Office、COM+,DLL⼩于150KB简便操作的 API 风格.4.使⽤ 安装
使⽤Nuget搜索Miniexcel安装
准备⼀个Excel测试⽂件⾥⾯有三列,Id,Name,Title再写⼊20⾏数据
我们在使⽤Query 查询 Excel 返回强型别 IEnumerable 数据既然是强类型 那我们我们就要写⼀个Model类
public class Test {
public int Id { get; set; }
public string Name { get; set; } public string Title { get; set; } }
为了⼤家看得⽅便明了,我这⾥使⽤winform进⾏测试 miniexcel ⽀持.net framework 和.net core 。
查询就⼀⾏代码,简单明了,⽐Npoi是不是看起来就好多了
var rows = MiniExcel.Query 写⼊并另存为⽂件也很简单 MiniExcel.SaveAs(@\"D:\\测试⽂档全部导出.xlsx\重写标题另存就需要写⼀个重写标题的⽅法 private IEnumerable foreach (var item in test) { var newCompanyPrepareds = new Dictionary newCompanyPrepareds.Add(\"姓名\ newCompanyPrepareds.Add(\"职位\ yield return newCompanyPrepareds; } } 最后再说⼀下我为什么推荐Minexcel的原因:这⾥我开个⼩⼩的车, npoi就相当于半⽼徐娘, minixecel就相当于18岁的姑娘 且npoi有的我们的miniexcel都有,如果有这两个姑娘让你选择,我现在⼤家都会选择miniexcel吧 最后我希望所有neter关注前沿技术,不要故步⾃封。 最后⼤家如果喜欢我的⽂章,还⿇烦给个关注, 希望net⽣态圈越来越好!个⼈公众号【⿊哥聊dotNet】b站【⿊哥聊编程】 因篇幅问题不能全部显示,请点此查看更多更全内容