【求助】使用POI生成excel的巨坑? 400 报错
问题描述:由于业务需要调用第三方平台接口获取数据,但第三方接口需要传入一个execl的.xlsx文件,且限定了请求数据的数量。所以使用java的poi将全部4000多条数据分解成了4000多个.xlsx表格,每条表格只装一条数据,然后循环请求调用第三方的接口。问题来了:我使用poi所分的表格,传到第三平台后,一直返回错误,找了很久问题(格式方面的等等),最后才发现,我只需要点开一个分表(用wps打开),不做任何修改操作,然后保存,退出。再把表传过去,就能成功获取到数据。而且我发现,poi生成的一个表,大小为4kb。打开后保存,大小变成了9kb。所以说,poi生成的.xlsx表格一定是不完整的,少了什么数据,导致第三方的平台无法解析。想请教各位大佬,在不改变第三方接口的情况下,这种情况怎么解决?如果能知道poi生成的表少了什么东西就更好了。谢谢!
用excel保存一个空文件作为模板,然后POI打开后写入数据,应该就可以了。
######回复 @王泥喜 : :)######已经解决了 谢谢大佬!######我觉得你说的方法应该可行。我去试试######目前用的比较多的解析包 是POI或者easyExcel 用这两个工具包先试着解析下自己生成的Excel文件,如果可以就和第三方沟通下 他们的解析方式或者解析错误堆栈,再找解决方案
######poi也不是自己创建的excel,他也是用微软提供的接口生成的。
######你是不是格式用错了######没有 不是格式问题 已经解决了######github开源项目 hutool 了解一下,excel导出导入不再麻烦
######想问一下,大佬最后怎么解决的?我弄了一整天没搞定。
######我最终就是按 游侠v 这个大佬说的,所用模板就是一开始构造好了的,而不是用poi去生成的。######回复 @java大神起床啦 : 谢谢!不过这个我试过,还是没成功,利用模板导出的新excel还是需要再打开保存一次才行######先用 wps 打开 它 能修复 然后 用这个 修复的 去做导出模板版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。