java用freemark生成word模板,一直都会遇到各种各样的问题;这次遇到的问题就是用freemark模板生成word目录和数据图表。解决方法如下:
1.制作word样式,word样式需要和客户方需求一致;然后需要将word另存为xml文档(一定要将xml文档的样式表拷入到freemark模板中)。
2.找到对应的目录位置,然后将目录放到freemark的对应位置,在目录的对应位置填充freemark标签替换即可;
3.将图表样式及图表标签都放入freemark模板中,这样可以将一个很复杂的图表样式给填充完成,之后只需要填充对应的数据即可。
4.使用jacob工具包调用word的动态库接口,用UpdatePageNumbers方法更新目录,用InLineShapes方法调出word中的图表对象,找到需要的图表类型ClassType,调用OLEFormat方法,修改图表中数据即可。
5.如果使用server2008r2的服务器,使用tomcat的容器启用服务进行修改,则需要对应的dll文件,同时需要将word的dcom服务中的用户标识修改为服务标识输入用户名和密码即可(网上许多人说使用交互方式,我试了都不可,只有使用服务模式是可以的)。
经过一周的折腾,把模板给弄成了。