.NET Core使用NPOI导出复杂Word详解
阅读原文时间:2021年04月21日阅读:1

点击上方“dotNET名人堂”,选择“”

用学习的姿态,步入工作的状态


前言

最近使用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是段落的文本对象,先创建段落对象才能够在段落对象的基础上创建文本对象,并设置相关文本样式。

如下所示:

XWPFRun文本对象的属性比较多,以下我简单说明常用的几种方式:

NPOI中关于XWPFRun属性的更多使用技巧,请阅读源码:

源码地址:https://github.com/tonyqus/npoi/blob/master/ooxml/XWPF/Usermodel/XWPFRun.cs


四、NPOI生成Word完整代码:


总结

写到最后我只想说我太难了,为了实现我想要的这个样式,通过不断的查阅资料,理解NPOI中的段落,文本基本属性。最终在我生成第22个word时,总算是达到了我要的效果。这里我将自己在网上查阅的一些资料和自己的实践心得分享给大家,希望能够帮到大家,别忘了给我star哟。

GitHub完整示例地址:https://github.com/YSGStudyHards/NPOI-Export-Word  

原文链接:https://www.cnblogs.com/Can-daydayup/p/11588531.html

点击 【在看】与好朋友一起分享

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器