poi写出word文件无法打开

l4d_fire 2016-09-08 03:59:17
在用poi处理word文档时,发现word文档中带有某种特定格式的表格,不做任何操作只要读取写出就会发生生成文档无法打开的情况.
现在我发现的格式如下:
两行表格,第一行7列,第二行4列
请教一下各位解决方案或者分享一下其他java操作word的工具,万分感谢.

测试代码如下:

仅仅打开然后写出,打开输出文件直接报错

...全文
2615 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
l4d_fire 2019-03-20
  • 打赏
  • 举报
回复
引用 16 楼 anchen20 的回复:
我也遇到了相似的情况,稍微复杂的表格。doc格式下读取不做任何操作,再写入,文件就无法打开。但是docx格式读取写入之后可以打开。最后我排查出了原因,遇到相似情况的可以借鉴一下。 我的office版本是2019,在这个版本下导出的doc版本出现了这些问题。后来,换了一个环境。office2003版本下生成的doc文件就没有遇到这样的问题,我将2003实际生成的doc移动到有2019版本的环境下,也没有出现相关问题。 怀疑是2007以上版本生成的doc和2003实际生成的doc有差异造成
谢谢回复,当时也没有解决问题,后面换了解决方案用docx。 然后再用其他工具转成doc。 以前在银行实习的时候弄的,目前在专心做web后台,很久不碰这些了,现在打开csdn还真是回忆满满。
anchen20 2018-12-27
  • 打赏
  • 举报
回复
我也遇到了相似的情况,稍微复杂的表格。doc格式下读取不做任何操作,再写入,文件就无法打开。但是docx格式读取写入之后可以打开。最后我排查出了原因,遇到相似情况的可以借鉴一下。 我的office版本是2019,在这个版本下导出的doc版本出现了这些问题。后来,换了一个环境。office2003版本下生成的doc文件就没有遇到这样的问题,我将2003实际生成的doc移动到有2019版本的环境下,也没有出现相关问题。 怀疑是2007以上版本生成的doc和2003实际生成的doc有差异造成
weixin_44059461 2018-12-20
  • 打赏
  • 举报
回复
package com;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class Test {

public static void main(String[] args) {
InputStream inputStream = Test.class.getResourceAsStream("/test.docx");
File file =new File("D://test1.doc");
try {
FileOutputStream outputStream = new FileOutputStream(file);
int b;
while ((b=inputStream.read())!=-1){
outputStream.write(b);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
weixin_44059461 2018-12-20
  • 打赏
  • 举报
回复
你这个项目是javaweb的吗,如果不启动项目直接用main方法测试能加载出来这个doc文件吗
王也要强 2018-12-19
  • 打赏
  • 举报
回复
我也是等一个明白人吧
anyueer 2017-03-13
  • 打赏
  • 举报
回复
求回复啊~一摸一样~
zhujinqiang 2017-03-13
  • 打赏
  • 举报
回复
楼主的问题回来是怎么解决的?
aihaidewmx 2017-01-04
  • 打赏
  • 举报
回复
请问问题解决了么,我也跟你遇到了类似的问题,可以告诉我么
浮云若水 2017-01-04
  • 打赏
  • 举报
回复
引用 9 楼 aihaidewmx 的回复:
请问问题解决了么,我也跟你遇到了类似的问题,可以告诉我么
挖坟有意思么?
红尘依旧 2016-12-22
  • 打赏
  • 举报
回复
把生成的word文档另存为xml格式看看表格那一段的代码,在自己新建一个word文档,弄一个这个样式的表格,对比一下2段代码,看看其中的区别。
Akuma_lht 2016-12-21
  • 打赏
  • 举报
回复
freemarker
Yukaishuai 2016-12-20
  • 打赏
  • 举报
回复
我也遇到这种情况,有些文档可以打开,word文档中有一些格式就打不开了,楼主的问题有没有解决?
l4d_fire 2016-09-09
  • 打赏
  • 举报
回复
技术太差,跟踪源码也没看出个名堂. 各位能否指点几个方便操作word的java工具.
l4d_fire 2016-09-08
  • 打赏
  • 举报
回复
引用 3 楼 kahnyy5202015 的回复:
把你当开发工具 页面等关闭了 试试
谢谢你的回复,其他doc都没问题,只有这个样式的word文件会出错.跟IDE没关系,而且我没页面.
kahnyy5202015 2016-09-08
  • 打赏
  • 举报
回复
把你当开发工具 页面等关闭了 试试
l4d_fire 2016-09-08
  • 打赏
  • 举报
回复
引用 1 楼 u011376884 的回复:
把你的输入输出流全关闭,再试试呢
java7自动关闭
  • 打赏
  • 举报
回复
把你的输入输出流全关闭,再试试呢

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧