用 Freemarker 怎么生成 .docx ,求代码?我现在只能生成doc文档
用 Freemarker 怎么生成 .docx ,求代码?我现在只能生成doc文档
生成doc文档步骤:
1.新建word模板
2.word另存为xml:xml中需要动态修改内容的地方,换成freemarker的标识符
3.xml另存为ftl
这是生成doc的代码:
configuration.setClassForTemplateLoading(this.getClass(), "/com/");
Template t = configuration.getTemplate("1.ftl");
File outFile = new File("g:/1.doc");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"UTF-8"));
t.process(map, out);
如何生成docx呢???
采用楼下的答案:File outFile = new File("g:/1.docx"); 生成docx文件后打开显示“文件已损坏,无法打开”。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(16)
我很好的解决了这个问题 http://hucheng91.github.io/2017/04/09/web/java/freemarker_xdocxreport/
试试docx4j-ImportXHTML 先xhtml 然后到docx
奥,这样子!
据我所知,插件基本上只支持doc、xls,也就是office2003,而不支持docx、xlsx(office2005)
采用楼下的答案:File outFile = new File("g:/1.docx"); 生成docx文件后打开显示“文件已损坏,无法打开”。
回复
docx格式太新了,而且解析非常复杂,这个没办法
报错,报什么错你得说清楚啊,不能让别人猜啊
http://www.oschina.net/question/937299_105738 报错的,如这个帖子
回复
你先用个简单的模板试试
回复
有空试一下我发的代码,
1楼是答案了,建议楼主学习的时候多想,举一反三。这样会学得更快,更多,更好。
将后缀改成.docx,先用docx方式保存xml文件
有空试下我发的代码,//File outFile = new File("g:/1.docx"); 用docx就会报错!
和楼上方法一样,不过不建议使用docx,因为在比较低的IE游览器上,你的服务端没有配置docx的minitype它就会把docx文件当成一个压缩文件处理的……
http://www.oschina.net/question/937299_105738freeman 看下这个帖子吧
有空试下我发的代码,//File outFile = new File("g:/1.docx"); 用docx就会报错!