.xlsx不符合OOXML规范的导入问题

2023-12-28 12:31:55

项目场景:

手机离线版APP需要导出录入的数据为.xlsx文档到web平台进行数据导入。


问题描述

在web平台进行导入时,发现根本导入不进去,于是开始排查问题。。。

原因分析:

首先查看导入接口日志,发现报错了,如下图
在这里插入图片描述
发现错误很明显,导入的.xlsx文件不符合OOXML规范,所以导致无法解析数据。

于是开始怀疑是POI版本问题,因为我用的是3.17,到官网查到最新已经是5.+,于是我换成5.2.0,经过一番修修改改,因为POI版本3->5升级改动很大,具体可以百度改造方案,最终还是同样的问题。。。
在这里插入图片描述
在这里插入图片描述
于是想到换个方式来读取,然后使用了阿里的EasyExcel,因为阿里的EasyExcel核心还是POI,结果不出意外还是同样的问题。。。

最后决定换成jxl来读取文件,最后终于还是解决不了。。。
在这里插入图片描述

开始转换思路
开始转换思路,找起前端的问题,于是找前端要来了生成文件的代码,如下

<html xmlns:o="urn:schemas-microsoft-com:office:office" 
				xmlns:x="urn:schemas-microsoft-com:office:excel" 
				xmlns="http://www.w3.org/TR/REC-html40">
				<head><!--[if gte mso 9]><xml encoding="UTF-8"><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
				<x:Name>${worksheet}</x:Name>
				<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
				</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
				</head><body><table>${str}</table></body></html>

于是。。。 虚心请教了AI,开始找思路。。。
在这里插入图片描述
最后开始找证据。。。
在这里插入图片描述
在这里插入图片描述
显然,APP给出的.xlsx文件不能改为.zip并解压,而windows手动建立的和后端POI生成的能改为.zip并解压,于是开始和前端好兄弟battle。。。


解决方案:

让狗日的前端好兄弟去解决。。。

文章来源:https://blog.csdn.net/weixin_44111939/article/details/135246158
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。