关于使用vue-element-admin-master+springboot+easyexcel组合导出excel文件失败的问题
一、步骤
前端代码
后端代码
未做处理前的后端response
在这里可以看到blob文件被硬生生整成了json格式的代码。然后下载后的文件就损坏报错。
解决方法
文件格式对应responseType
我们导出的文件的格式是xlsx,所以在后端需要将
response.setContentType(“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”)
如果是xls格式的就如下设置
response.setContentType(“application/vnd.ms-excel”)
前端mockjs对blob的影响
vue-element-admin-master使用了mockjs来模拟请求后端接口获得数据,mockjs会对所有的前端请求进行一个拦截处理,就会对blob产生影响。所以我们需要将mock禁用就能完美解决这个问题。
在/src/main.js文件中有对mockjs的引用,只需要注释掉就可以了。
总结
对应格式responsetype
关闭mock的使用