问题描述
项目发布后本地和各台电脑都能正常的导入导出,但是客户那边财务电脑导入excel一直报"Wrong Local header signature: 0xE011CFD0" 错误
XSSFWorkbook workbook = new XSSFWorkbook(file);//Wrong Local header signature: 0xE011CFD0
原因分析:
一般情况是excel的扩展名问题,.xlsx 应该XSSFWorkbook workbook = new XSSFWorkbook(file);而xls应该用 HSSFWorkbook workbook = new HSSFWorkbook(file);
但是这种报错应该是全部报错,而不是仅一台机器。所以怀疑客户机环境问题
解决方案:
最终发现是客户电脑装的excel2003自动给excel降级了,虽然excel的后缀还是xlsx,但是已降级。导致以上两种方式都取数失败。最后的解决方案,卸载excel2003,安装高版本的excel或者wps,问题解决