日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

C#不要再使用Npoi啦,使用MiniExcel操作Excel文件更快更高效!

發(fā)布時(shí)間:2023/12/4 C# 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#不要再使用Npoi啦,使用MiniExcel操作Excel文件更快更高效! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.簡(jiǎn)介

? ? MiniExcel簡(jiǎn)單、高效避免OOM的.NET處理Excel查、寫(xiě)、填充數(shù)據(jù)工具。

目前主流框架如Npoi 需要將數(shù)據(jù)全載入到內(nèi)存方便操作,但這會(huì)導(dǎo)致內(nèi)存消耗問(wèn)題。

MiniExcel 嘗試以 Stream 角度寫(xiě)底層算法邏輯,能讓原本1000多MB占用降低到幾MB,避免內(nèi)存不夠情況。

2.特點(diǎn)

? ?低內(nèi)存耗用,避免OOM(out of memoery)、頻繁 Full GC 情況

支持即時(shí)操作每行數(shù)據(jù)

兼具搭配 LINQ 延遲查詢特性,能辦到低消耗、快速分頁(yè)等復(fù)雜查詢

輕量,不需要安裝 Microsoft Office、COM+,DLL小于150KB

簡(jiǎn)便操作的 API 風(fēng)格。

3.特點(diǎn)

低內(nèi)存耗用,避免OOM(out of memoery)、頻繁 Full GC 情況

支持即時(shí)操作每行數(shù)據(jù),

兼具搭配 LINQ 延遲查詢特性,能辦到低消耗、快速分頁(yè)等復(fù)雜查詢

輕量,不需要安裝 Microsoft Office、COM+,DLL小于150KB

簡(jiǎn)便操作的 API 風(fēng)格.

4.使用

安裝

使用Nuget搜索Miniexcel安裝

準(zhǔn)備一個(gè)Excel測(cè)試文件

里面有三列,Id,Name,Title

再寫(xiě)入20行數(shù)據(jù)

我們?cè)谑褂肣uery 查詢 Excel 返回強(qiáng)型別 IEnumerable 數(shù)據(jù)

既然是強(qiáng)類(lèi)型 那我們我們就要寫(xiě)一個(gè)Model類(lèi)

public class Test{public int Id { get; set; }public string Name { get; set; }public string Title { get; set; }}

為了大家看得方便明了,我這里使用winform進(jìn)行測(cè)試? miniexcel 支持.net framework 和.net core 。

查詢就一行代碼,簡(jiǎn)單明了,比Npoi是不是看起來(lái)就好多了

var rows = MiniExcel.Query<Test>(path).ToList();uiDataGridView1.DataSource = rows;

寫(xiě)入并另存為文件也很簡(jiǎn)單

?MiniExcel.SaveAs(@"D:\測(cè)試文檔全部導(dǎo)出.xlsx", rows);

重寫(xiě)標(biāo)題另存就需要寫(xiě)一個(gè)重寫(xiě)標(biāo)題的方法

private IEnumerable<Dictionary<string, object>> GetOrders(List<Test> test){foreach (var item in test){var newCompanyPrepareds = new Dictionary<string, object>();newCompanyPrepareds.Add("Id", item.Id);newCompanyPrepareds.Add("姓名", item.Name);newCompanyPrepareds.Add("職位", item.Title);yield return newCompanyPrepareds;}}

最后再說(shuō)一下我為什么推薦Minexcel的原因:

這里我開(kāi)個(gè)小小的車(chē),

npoi就相當(dāng)于半老徐娘, minixecel就相當(dāng)于18歲的姑娘

且npoi有的我們的miniexcel都有,如果有這兩個(gè)姑娘讓你選擇,我現(xiàn)在大家都會(huì)選擇miniexcel吧

最后我希望所有neter關(guān)注前沿技術(shù),不要故步自封。

最后大家如果喜歡我的文章,還麻煩給個(gè)關(guān)注, 希望net生態(tài)圈越來(lái)越好!

總結(jié)

以上是生活随笔為你收集整理的C#不要再使用Npoi啦,使用MiniExcel操作Excel文件更快更高效!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。