最近多了一个需求,需要对word模板内容进行替换,一开始用的是word03版的,替换起来比较简单,主要是range对像替换非常方便,而且可以保留替换前的字体样式. InputStream is = new FileInputStream(srcFath); OutputStream os = new FileOutputStream(tempFile); XWPFDocument doc = new XWPFDocument(is); Range range = doc.getRange();
思路解说 word 模板文件(doc 或 docx 文件)另存为 xml 文件 将后缀 xml 改成 html:大部分文档会改成 ftl(FreeMarker 的后缀名),因为 word 文件另存为 xml 文件后,xml 文件中的代码很乱,后面的修改会很麻烦,因为我习惯用 VSCode 编辑器,安装 Beautify 插件后,可以自动格式化 html 代码,这样有利于后面的修改 将内容用${param}替换:例:姓名:月牙坠-->姓名:${name} word 文件中的图片是 Base64 编
参考网址:http://www.aiuxian.com/article/p-1970779.html NPOI版本:2.1.3.1 最终效果图: 代码: /// <summary> /// 导出word培训班自然情况表 /// </summary> [HttpPost] public void PrintWord() { int id = Int32.Parse(Request.Form["id"]); var query = from n in db.Natu