我又2个excel,格式都是.xlsx的,为什么用office打开,一个正常打开一个不行

图片描述

这个excel是我用java后台生成的,起初是用wps打开的,一切ok,后来部署到测试环境后,别人下载下来,用office打开了,就爆了上边的警告,然后改了后缀成xls能正常打开。但是他电脑里也有其他.xlsx的excel也能正常打开,这是什么原因呢,还是说我java后台写的有问题?

阅读 5.4k
4 个回答

有可能你 Java 后台写的本身是 xls 格式,只是把扩展名改成了 xlsx…… WPS 兼容性比较好,认出来了,所以打得开。我原来用 NPOI 的时候干过这种事情,扩展名改回来就好了

你确定不是那架电脑的excel的版本太低?

======================================正确答案==========================================
的确是我后台的原因。
我原来使用HSSFWorkbook workbook = new HSSFWorkbook();
现在改成了XSSFWorkbook workbook = new XSSFWorkbook();
另外图片描述
我把跟HSSF相关的属性设置都换了,就好了。
感觉是hssf是以前的创建excel的方法,到了07之后的xlsx就不能用了

两个原因:
1.文件直接重其它格式更改过来,比如原来是.js直接改成了.xls导致打不开。
2.文件在操作过程中,数据被损坏,导致格式无法识别这跟代码有关。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进