记录自己被坑的一天

框架:spring cloud
测试工具:swagger

这两天,项目需要紧急上Excel导出功能,所以这两天一直加班。之前有通过POI3.9做过一个导出,但是一直存在一个问题,Excel表能下载,但是打开始终提示:
在这里插入图片描述
这个问题一直困扰着我,没有时间解决,所以一直放在哪里。
这次没办法了,就只能解决这个问题。
开始,我以为是我代码问题,然后找到一个同一个框架项目,把代码拿过来,写好接口,在swagger上测试,遇到另一个问题。
时用easy.poi3.1.0的jar包和POI 3.9的jar包,在运行过程中,始终抛一个错误

java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Sheet.getDrawingPatriarch()Lorg/apache/poi/ss/usermodel/Drawing;

又是各种搜索问题,最后才发现

    public static Drawing getDrawingPatriarch(Sheet sheet){
        if(sheet.getDrawingPatriarch() == null){
            sheet.createDrawingPatriarch();
        }
        return sheet.getDrawingPatriarch();
    }

POI3.9的sheet.getDrawingPatriarch()这个方法没有。
最后迫不得已,将POI版本降低,同时降低easy.poi的版本,解决该问题。
此问题解决,接下来就是测试啦。

因为之前测试都是时用的Swagger页面进行接口测试,成功后,将地址给前台调用。也没有什么不妥,然后通过Swagger页面调用接口,下载Excel表,打开,始终出现上面截图的信息,内容是各种乱码。

又是一通百度,google各种查询,各种设置response参数,各种设置编码,时间浪费了一天,都快崩溃了。最后在不经意间,在一个论坛上看到这么一句话
在这里插入图片描述

然后给了我启发,然后直接输入导出地址,回车。一切都是那么的美好。

切记:也是自己学习不精,导致问题所在。以后Swagger页面测试不行,试着换另一个方式实施。

记录自己被坑的一天。好好学习,天天向上。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值