freemarker模板技术生成复杂word文档---解决了编码问题

上传者: yuqicaida | 上传时间: 2021-07-08 13:40:06 | 文件大小: 805KB | 文件类型: RAR
Word从2003开始支持XML格式,用XML来做就很简单了。 大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出‘.doc’ word文档。经测试这样方式生成的word文档完全符合office标准,样式、内容控制非常便利,打印也不会变形,生成的文档和office中编辑文档完全一样。 word的几个主要xml标志 w:body 正文内容 w:p 一个段落 w:tbl 表格数据 w:tblPr、w:tblGrid 大概看了下,是定义表格样式,可以先在word中定义好,这部分一般不用动态生成 w:tr 表格行 w:tc 行的元素 分页符 基本步骤 1.用word做一个需要的格式模板,在需要替换的部分用“____”标记,存储为xml格式。 2.用myEclipse打开xml文档把“____”修改为freemarker标记 3.写java程序根据模板生成word 总结,之前在网上查到这个资料怎么调试都失败,后来经过反复查找发现是编码问题导致生成word格式错误,已经修正,希望能给大家带来帮助。 效率测试生成100000行数据大概4000毫秒左右 完整程序代码已经上传! 关于FreeMarker模板编辑说明在我的资源中有中文文档,需要的朋友可以去下载。

文件下载

资源详情

[{"title":"( 23 个子文件 805KB ) freemarker模板技术生成复杂word文档---解决了编码问题","children":[{"title":"Document","children":[{"title":".project <span style='color:#111;'> 384B </span>","children":null,"spread":false},{"title":"freemarker-2.3.13.jar <span style='color:#111;'> 849.89KB </span>","children":null,"spread":false},{"title":"bin","children":[{"title":"com","children":[{"title":"havenliu","children":[{"title":"document","children":[{"title":"Table2.class <span style='color:#111;'> 1.49KB </span>","children":null,"spread":false},{"title":"Table1.class <span style='color:#111;'> 719B </span>","children":null,"spread":false},{"title":"template","children":[{"title":"temp.ftl <span style='color:#111;'> 9.64KB </span>","children":null,"spread":false},{"title":"test.xml <span style='color:#111;'> 17.82KB </span>","children":null,"spread":false},{"title":"test.ftl <span style='color:#111;'> 17.82KB </span>","children":null,"spread":false},{"title":"outFile.xml <span style='color:#111;'> 9.60KB </span>","children":null,"spread":false},{"title":"temp.xml <span style='color:#111;'> 10.24KB </span>","children":null,"spread":false}],"spread":true},{"title":"DocumentHandler.class <span style='color:#111;'> 3.69KB </span>","children":null,"spread":false},{"title":"Main.class <span style='color:#111;'> 765B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":".myumldata <span style='color:#111;'> 66B </span>","children":null,"spread":false},{"title":".settings","children":[{"title":"org.eclipse.core.resources.prefs <span style='color:#111;'> 397B </span>","children":null,"spread":false}],"spread":true},{"title":"src","children":[{"title":"com","children":[{"title":"havenliu","children":[{"title":"document","children":[{"title":"Table1.java <span style='color:#111;'> 331B </span>","children":null,"spread":false},{"title":"Table2.java <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"Main.java <span style='color:#111;'> 344B </span>","children":null,"spread":false},{"title":"DocumentHandler.java <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false},{"title":"template","children":[{"title":"temp.ftl <span style='color:#111;'> 9.64KB </span>","children":null,"spread":false},{"title":"test.xml <span style='color:#111;'> 17.82KB </span>","children":null,"spread":false},{"title":"test.ftl <span style='color:#111;'> 17.82KB </span>","children":null,"spread":false},{"title":"outFile.xml <span style='color:#111;'> 9.60KB </span>","children":null,"spread":false},{"title":"temp.xml <span style='color:#111;'> 10.24KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":".classpath <span style='color:#111;'> 314B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • hamlet21 :
    项目上需要,谢了!正好用上
    2015-11-28
  • zhou_ye :
    谢了,项目中用到
    2015-10-22
  • zzzcoding :
    用WPS打开存在问题
    2015-04-17
  • jonnyfu :
    非常好,项目里用到了,十分感谢。
    2015-03-17
  • htkycat :
    帮了大忙~~非常好用~谢谢~
    2014-09-29

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明