.NET Core使用NPOI导出复杂Word详解
最近使用NPOI做了個導出Word文檔的功能,關于使用.NET Core 導出Word文檔的方式有很多。最終我為什么選擇了NPOI來實現了這個功能,首先是NPOI是一個開源,免費且容易上手的第三方框架(并且現在已支持.NET Core,GitHub源碼地址:https://github.com/tonyqus/npoi)。因為之前使用NPOI導出Execl比較多,這次第一次使用NPOI 來導出Word文檔還真沒有什么頭緒。首先看了下GItHub中的源碼有一個簡單Word導出的示例,然后在看了網上有很多關于NPOI導出Word文檔的案例,發現一個特點網上的好像都差不多,對于我而言網上的這些案例完全能夠實現我的這個功能,但是感覺看了網上這些案例對NPOI實例化段落,表格和設置相關樣式不太清楚(可能是因為自己笨),并且假如使用網上的方法來實現我的功能的話代碼量會比較大,而且感覺代碼非常的冗余(我是一個追求代碼簡潔的人,怎么能夠容忍這樣的事情發生呢!),因此通過查閱了一些資料和自己的理解,把關于使用NPOI導出Word時所要涉及的一些段落,表格樣式做了相關注釋,和把段落和表格的創建實例,設置文字、字體、對齊方式都封裝了起了(為了少寫代碼),文章末尾會附上一個完整的案例下載地址。
一、首先引入NPOI NuGet:
版本說明:
NPOI 2.4.1 (注意不同版本可能使用的姿勢有點小差別)
程序包管理器控制臺輸入一下命令安裝:
| 1 | Install-Package NPOI -Version 2.4.1 |
通過NuGet管理解決方案安裝:
回到頂部
二、導出的Work文檔內容格式樣式:
?
三、NPOI中的XWPFRun文本對象創建和屬性簡單概述:
XWPFRun文本對象說明:
XWPFRun是段落的文本對象,先創建段落對象才能夠在段落對象的基礎上創建文本對象,并設置相關文本樣式。
如下所示:
四、NPOI生成Word完整代碼:
總結:
寫到最后我只想說我太難了,為了實現我想要的這個樣式,通過不斷的查閱資料,理解NPOI中的段落,文本基本屬性。最終在我生成第22個word時,總算是達到了我要的效果。這里我將自己在網上查閱的一些資料和自己的實踐心得分享給大家,希望能夠幫到大家,別忘了給我star喲。
GitHub完整示例地址:https://github.com/YSGStudyHards/NPOI-Export-Word
總結
以上是生活随笔為你收集整理的.NET Core使用NPOI导出复杂Word详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 福爆 | 博客升级 .NET Core
- 下一篇: asp.net ajax控件工具集 Au