最近使用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