本文摘自PHP中文网,作者php是最好的语言,侵删。
项目需要集成word导出,做的时候网上文档资源不是很多,也比较杂乱,所以查了查,整理了整理,做个记录,也顺便把NPOI操作Word文档的一些基本操作分享给有需要的朋友。
本篇包括生成Word对word文本的操作,表格的操作,以及图片的操作,都为生成word基础的一些操作。
以下只是我的个人理解所得,大家有什么更好的想法欢迎补充。
VS2017、右键解决方案,管理NuGet程序包,搜索并为项目安装NPOI程序包,并引用:
using NPOI.XWPF.UserModel;
本编使用NPOI版本为2.3.0
下面进入正题??
一、 获取模板(XWPFDocument doc)
使用模板,首先获取模板,然后把获取的模板实例化为NPOI的文档对象进行编辑操作:
using (FileStream stream = File.OpenRead(“模板文件地址”)){
XWPFDocument doc = new XWPFDocument(stream);
//处理doc,代码控制编辑文档。
}
处理doc后,生成新的文件,写入doc ,生成word完成。
FileStream file = new FileStream(生成文件路径+文件名, FileMode.Create, FileAccess.Write);
doc.Write(file);
file.Close();
doc就是我们获取到的模板的所有内容。
还有一点本编使用模板均为docx后缀文件,doc修改docx读取报错,需要另存为doxc文档。
二、 文本处理(XWPFParagraph para)
doc.Paragraphs 获取到文档里的所有的段落对象;
para.ParagraphText 获取段落的文本数据;
para.ReplaceText(要被替换的文本,替换文本) 替换段落的文本(模板能实现的关键)
XWPFParagraph的官方参考文档
相关阅读 >>
C#中static void main(string[] args) 参数的示例代码详解
实现C#中图片.byte[]和base64string的转换方法的详解
更多相关阅读请进入《C#》频道 >>

C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。