赞
踩
<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.4.0</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-web</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>ooxml-schemas</artifactId> <version>1.4</version> </dependency>
这几个依赖可能有重复的或者是不需要的 ,我就直接复制过来了 一锅端
可能有些不清楚 但是不重要 大体上能看到
发明人1 {{inventor1}}
发明人2 {{inventor2}}
发明人3 {{inventor3}}
这样的字样 什么意思?就是说 我要在{{inventor1}}这样的被 {{ }} 两层花括号包裹起来的地方插入文字。
注意 不论是docx里面的表格 还是docx文件里的某个段落 都可以使用这种方式,只要是在docx文档里面都可以。
有的小伙伴问了 明明都写了{{inventor1}}这样的“标志符”了 还要检查什么?
首先 docx文档的本质是 xml 文件 ,所有的docx中的细节 都在xml文件中有所体现。
所以 我们右击我们的 docx模板文件 ----> 打开压缩包
!!!!!直接打开压缩包 不是解压缩 不是解压缩 不是解压缩
是的 你没看错 docx 是一个压缩包
打开之后 点击 word
然后点击document.xml
至此 一阵眼花缭乱
密集恐惧症有没有 但是没办法 打开我们的查找功能(一般都是 ctrl+f )
搜索 “ {{ ”
看到了吧 的确是 docx文件中的所有内容 所有细节 在xml文件中都有显示的
那么我们要检查什么?
在docx文件中 我们的{{inventor1}}是紧密相连的 没有任何的空格
可是有的时候!!有的时候!!有的时候!!有的时候!!有的时候!!有的时候!!有的时候!!有的时候!!
他在xml文件中却是分开的
例如:
看到了吗 他是分开的 这就很不合理 所以我们直接删除掉中间的所有内容,让他们 重归于好
也就是说 需要全部检查一遍 我们的 “标识符” 确保他们没有分开
全部检查完成后 保存下来即可
Map<String ,Object> params=new HashMap<>();
params.put("xxxx","xxxxx");//可以有好多个put
XWPFDocument word = WordExportUtil.exportWord07(模板路径, params);
/*第一个参数是docx模板文件的绝对路径 第二个就是map集合*/
FileOutputStream fileOutputStream=new FileOutputStream(新文件的路径);
/*参数是 生成的文件放在哪里 使用的是绝对路径*/
word.write(fileOutputStream);
fileOutputStream.close();
word.close();
好的 这里说一下 map集合
还记得我们刚才设置的 “标识符” 分别叫 {{inventor1}} {{inventor2}} {{inventor3}} 对吧
那么 我们在map集合中 就需要放入 key 为 inventor1 value任意 的一组键值对
例如 :
params.put("inventor1","张三");
params.put("inventor2","李四");
params.put("inventor3","王五");
那么 将来 我们的文件中 的
{{inventor1}} 的地方就会变成 张三
{{inventor2}} 的地方就会变成 李四
{{inventor3}} 的地方就会变成 王五
注意!注意!注意!注意!注意!注意!注意!注意!注意!注意!注意!注意!注意!注意!注意!
放入map集合中的 不是 {{inventor1}} 就是单纯的 inventor1 map集合中的key和模板文件中的标识符 是有着 两个花括号的区别的
map集合中的key和模板文件中的标识符 是有着 两个花括号的区别的
map集合中的key和模板文件中的标识符 是有着 两个花括号的区别的
map集合中的key和模板文件中的标识符 是有着 两个花括号的区别的
map集合中的key和模板文件中的标识符 是有着 两个花括号的区别的
使用EasyPOI 替换 模板文件中的 标识符 以达到 在指定位置插入文字的目的
使用起来很简单 只需要告诉
1、模板文件的位置
2、传一个map集合
3、说一下新文件生成在哪里
即可 ,但是 对于xml文件的检查是必不可可少的 直接关系着 替换能否成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。