1. 程式人生 > 其它 >npoi文件_老牌開源Office操作元件NPOI現已支援.NET Core

npoi文件_老牌開源Office操作元件NPOI現已支援.NET Core

技術標籤:npoi文件views 多資料夾 netcore

昨天在微信群裡聽到老牌Excel開發利器NPOI的作者瞿總說4.6.1版本的NPOI已經支援.NET Standard 2.0了,這也就意味著你可以在.NET Core中使用NPOI了。

作者:依樂祝
原文地址 :https://www.cnblogs.com/yilezhu/p/10269281.html

寫在前面

曾經的.NET Framework時代就很喜歡使用這個元件來對Excel的進行操作,可是隨著.NET Core時代的到來以及NPOI不支援.NET Core所以就找到了園子裡的大神楊曉東對NPOI的.NET Core的移植版,可是使用的過程中的如果對這個移植的外掛進行深入的使用的話還是有部分問題,可能正如楊曉東大神自己所說:“去年的那個版本是針對於 .NET Core 1.0 的,從釋出截止現在在 NuGet 大概有 2K 多的下載量,說明還是有很多同學在使用 NPOI 的,社群中也得到了很多同學的推廣。 但是上一個移植的版本也有諸多缺陷和 bug,在 Github 上也收到了一些 Issue 進行反饋,很多 Bug 可能是移植過程中的bug,但是對於這些 Bug 可能我也無能為力,因為 NPOI 的程式碼是非常龐大和複雜的。”

不過也再次特別感謝下楊曉東大神對NPOI的.NET Core版本的移植也才能讓我們在.NET Core1.0以及.NET Core2.0的一段時間內繼續使用這個NPOI。

有興趣的小夥伴可以看下楊曉東大神的版本這裡是介紹《NET Core 2.0 開源Office元件 NPOI》

因此在得知NPOI的作者瞿總已經完成對NPOI的升級並支援.NET Standard 2.0後特此把這個好訊息告訴全體.NET Core開發者們。自此我們又可以盡情的在.NET Core中繼續使用這個開源的老牌Office元件了!反正我表示挺開心的!而且如果你在使用的過程中有任何問題都可以在GitHub上對作者提issue,作者也會以迅雷不及掩耳之勢之勢進行修復

什麼是NPOI

ecf5b29c8e89ca27fa304f8070456e54.png

說了半天NPOI已經可以在.NET Core中使用了,可能對於新手朋友還是不知道這玩意究竟是什麼?其實你可以看看百度百科《NPOI》裡面有詳細的講述。我只能跟你說使用 NPOI 你就可以在沒有安裝 Office 或者相應環境的機器上對 WORD/EXCEL 文件進行讀寫操作,十分方便。

另外NPOI的原作者的GitHub地址是:https://github.com/tonyqus/npoi

裡面也有詳盡的描述

如何使用

通過Nuget直接新增NPOI的最新引用即可使用

Install-Package NPOI -Version 2.4.1

然後你就可用像之前一樣進行操作了!

但是如果你想執行在Linux上可能需要注意一下:

由於NPOI使用System.Drawing.Common,因此必須在Linux系統上安裝libgdiplus和libc6。

Ubuntu 16.04及以上

apt-get install libgdiplus libc6-dev

ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll

然後就可以在Linux系統上跑起來了!

例子

我們有很多例子可供您學習如何使用NPOI。

請檢視https://github.com/tonyqus/npoi/tree/master/examples。

資料夾名稱示例描述
HSSF有關Excel 97-2003格式的示例(* .xls)
XSSF有關Excel 2007+格式的示例(* .xlsx)
XWPF有關Word 2007+格式(* .docx)的示例
POIFS關於OLE2文件/ ActiveX文件的示例
OOXML有關OpenXML檔案的示例

第三方部落格

使用NPOI - C#和WEB API匯出到Excel

使用NPOI在.NET中構建漂亮的XLS文件

如何使用NPOI閱讀Excel 2007文件

如何使用NPOI建立Excel電子表格

NPOI 2.0 - 將Excel XLS文件轉換為HTML格式

NPOI與Excel表和動態圖表

總結

今天給大家介紹了一款.NET Core Office開發利器NPOI已經支援.NET Core了!希望對大家有所幫助!今後我們的實戰教程之CMS系統裡面對Excel的操作也將使用這個元件,屆時我講實戰講解如何使用這個元件,最後感謝大家的閱讀。