当前位置:   article > 正文

# 关于easyExcel的思考_easyexcel导出打不开

easyexcel导出打不开

在我们的项目中使用到了excel的数据导入、导出的事情,使用easyExcel是比较方便的工具,但是在使用的时候碰到一些问题。以下谈谈我的拙略的见解。

1.客户给过来的excel要导入数据至数据库,由于我当时看到的第一个demo的方法的是EasyExcel.read(String pathName,Class head,ReadLister readListener)使用本地的文件的File去操作excel的路径,我查看了源码,首先创建一个excelReadBuilder的对象出来,在excelReadBulder.file(pathName),我猜测这行代码是使用File进行操作excel,果不其然,file(pathName)这个方法是使用了return file(new File(pathName))这种形式去操作excel。在生产环境使用这种pathName显示不是特别合理,也不太现实,所以改用EasyExcel的重载的方法,EasyExcel.read(InputStream inputStream,...)去使用流的方式去进行导入数据问题就可以解决了。在ExcelReadBuilder的类中,持有ReadWorkbook的对象,同样的在file(inputStream)中,readworkbook.setFile(inputStream),在ReadWorkbook的类中,存在成员变量File file,InputStream inputStream等。显然使用流的方式进行read更加通用一些。

2.在导出excel的数据时,我碰到过一个可以导出,但是打不开导出的excel文件,我的排查思路如下:首先把以前的excel试着打开,把我导出的excel发给别人,还是打不开,排除了我的电脑的excel的软件问题,其次检查response.setContentType("application/vnd.open.....sheet")以及response.setCharaterEncoding("utf-8")这2个请求头是否生效,确认了生效之后。在easyexcel的官网的查找这个问题,大概率时因为一些拦截器把导出的stream改变了,所以造成了打不开的局面,最后加入拦截器的白名单即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/998879
推荐阅读
  

闽ICP备14008679号