当前位置: 首页 > 知识库问答 >
问题:

java - Java使用FTL模板导出Word文档时,为何Office无法打开但WPS可以?

桓瀚
2024-05-23

java在通过ftl模版填充数据,导出为word文档时,导出的xml格式,使用wps能打开,使用office打开就报错说无法打开文件。导出的doc格式,docx也不行

给ftl加上html标签,没得用,数据也是没得问题。
image.png
image.png

共有2个答案

周朗
2024-05-23

不用怀疑,你这个需求和问题我都遇到过,就是因为你保存原文件模板另存为xml(或者通过xml再存为ftl格式)的时候用的是WPS,正确做法是使用word来另存为xml/ftl模板,最好选2003版本的兼容性好一点

燕野
2024-05-23

首先通过排除法,找到有问题的元素,即一部分一部分的去除文档内容,直到 Word 能打开为止,那么问题基本上可能出在最后一次去除的部分。接下来阅读 OOXML 相关文档,检查该部分是否符合规范。

 类似资料:
  • 问题内容: 我需要打开一个文件(我并不挑剔,我只想让它工作),将其解析为占位符(或类似的东西),放入我自己的数据,然后返回生成的文件。 最重要的是,我需要免费的工具来实现这一目标。 我一直在寻找适合自己需求的东西,但找不到任何东西。Docmosis,Javadocx,Aspose等工具是商业化的。据我了解,Apache POI尚无法成功实现这一目标(他们目前还没有任何正式的开发人员在框架的Word

  • 我试图用Java中的Apache POI修改一个文档。 首先,测试.doc无法读取,并引发异常: " org . Apache . poi . poifs . file system . notole 2 file exception:无效的标头签名;读取0x6576206C6D783F3C,预期的0xE11AB1A1E011CFD0 -您的文件似乎不是有效的OLE2文档" 所以我把文档保存为“w

  • 问题内容: 我有一个Windows实用程序,用于打开Word文档,从其中提取数据并使用该数据生成另一个Word文档。 现在我的问题是,该Windows exe可直接在命令提示符下正常运行,但是如果我通过jenkins调用此exe,即构建步骤“执行Windows批处理命令”,则会出现错误,无法打开Word文档,因此存在实用性错误。 我也尝试过其他选项,例如从pom文件和批处理文件调用exe。每当它给

  • 问题内容: 我想加载模板Word文档以向其添加内容并另存为新文档。我正在处理.doc文件。 经过长时间的研究,我仅找到docx的解决方案: http://www.smartjava.org/content/create-complex-word-docx-documents- programatically-docx4j http://www.sambhashanam.com/mail-merge

  • 我想加载一个模板word文档以添加内容并另存为新文档。我在处理.文件。 经过长时间的研究,我只找到了docx的解决方案: 所以我想用它的值替换以这种格式编写的任何变量:。我可以用velocity或Apache-poi来做它,什么是它的最佳解决方案。任何帮助都将不胜感激。

  • WPS和Office在功能上各有千秋,所以想在电脑中安装两个软件。E立方管理平台选择的是,如果两个软件都存在,会优先选用Excel。如果我们电脑默认是W.P.S,那么在使用Excel打开时,模板中有超链接,它会用W.P.S打开,这样就同时打开了两个软件,很不爽!所以我把默认打开表格的程序设置成了Excel,这样就不致于同时打开两个软件。由于W.P.S设置起来比较隐蔽,我就将它记录到了这里。 在电脑