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模板编辑说明在我的资源中有中文文档,需要的朋友可以去下载。
1