java将word转xml?1. 制作 Word 模版,将你需要动态生成的字段用${}替换。2. 将 Word文档保存为 xml 。3. 引入项目。项目中需要用 java 程序生成doc 文件,百度一番,发现FreeMarker 的评价比较高。那么,java将word转xml?一起来了解一下吧。
阅读目录
1. 制作 Word 模版,将你需要动态生成的字段用${}替换。
2. 将 Word文档保存为 xml 。
3.引入项目。
项目中需要用 java 程序生成doc 文件,百度一番,发现FreeMarker 的评价比较高。
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出,至于想详细了解 FreeMarker 的请自行百度。
制作 Word 模版,将你需要动态生成的字段用${}替换。如:${name}、${age}
将 Word文档保存为 xml。
引入项目。将 xml 文件更改后缀名 为 .ftl, 然后引用到你的项目中。
需要注意的问题:
a. word 版本不能低于 2003 ,因为 2003 才开始支持 xml。
备注:
a.template.process(),接受宏弊携一个 Map 和 输入流做为入参,卜棚Map 既是你需要动态蔽伏生成到 doc 里面的数据,字段名必须与你在 .ftl 里面定义的一致;
b.如果你想利用这段代码,需要有一个 .ftl 文件,并且在你的项目 src 目录下面新建 template 目录;
c.辅助文件"FreeMarker.jar 、实例项目的.ftl "。
先创建一个word文档,按照需求在word中填好一个模板,然后把对应的数据换成变量${},然后将哪绝文档保存为xml文档格式,使用文档编辑器打开这个xml格式的文档,去掉信冲多李坦姿余的xml符号,使用Freemarker读取这个文档然后替换掉变量,输出word文档即可。
1.可能是低版本打开高版本。或者是格式不相同。
2.文档损坏了。
解决办法:
方法一:利用word2002/2003的“打开并修复”功能来修复文挡。
(1)启动word2002/2003,单击“文件-----打开”,在“打开”对话框中选重要修复的word文挡。
(2)单击“打开”按钮右边的下三角按钮,在弹出的下拉菜单中选中“打开并修复”选项,即可对损坏的文挡进行修复,修复完成后,显示文挡内容。
方法二:转换文挡格式来修复文挡。
(1)启动word2000后单击“------选项-------常规”。在该选项卡中选中“打开时确认转换”复选框,并单击“确定”按钮。
(2)单击“文件---打开”,在弹出的“打开”对话框中选中要恢复的文件,并在“文件类型”框中选中“从任意春做文件中恢复文本”。
(3)单击“打开“按芹哗钮自动对孙换文挡进行转换修复。
(4)如果显示的文挡内容混乱,单击“文件---另存为”,将文挡保存为“RTF格式”或其他word所识别的格式。
(5)保存后关闭文挡,再次打开以“RTF格式”保存的文挡即可看到完整的文挡。
(6)再将文挡保存为“DOC格式”即可,这样就完成了对孙换文挡的修复操作。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一好誉渗个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.xml”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.xml”实例
pw.write("我是要写入到xml文件的内容");//将要友脊写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后虚携必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加负担。
两种贺缓答方式:
1、纯Java,用POI来做
2、用JNA调用word接口,根据office api来做
第一种呢对于java开发来说相对简单,但是需要学POI,哪含而且估计有些格式控制不好。第二种要学习JNA,而且需要边做变差word的office api。禅慧
以上就是java将word转xml的全部内容,1、纯Java,用POI来做 2、用JNA调用word接口,根据office api来做 第一种呢对于java开发来说相对简单,但是需要学POI,而且估计有些格式控制不好。第二种要学习JNA,而且需要边做变差word的office api。