您现在的位置是:主页 > news > 前端页面设计网站/网络营销推广平台有哪些

前端页面设计网站/网络营销推广平台有哪些

admin2025/5/25 13:24:53news

简介前端页面设计网站,网络营销推广平台有哪些,wordpress url设置,创意设计图片手绘黑白问题描述: 在使用EasyExcel解析Excel表格的时候报错了,我一开始使用的是指定文件类型的方式进行解析,文件的格式是xls的格式,方法是原来带有文件枚举类型的方法进行解析,其实这样也是不会报错的,如下&…

前端页面设计网站,网络营销推广平台有哪些,wordpress url设置,创意设计图片手绘黑白问题描述: 在使用EasyExcel解析Excel表格的时候报错了,我一开始使用的是指定文件类型的方式进行解析,文件的格式是xls的格式,方法是原来带有文件枚举类型的方法进行解析,其实这样也是不会报错的,如下&…

问题描述:

在使用EasyExcel解析Excel表格的时候报错了,我一开始使用的是指定文件类型的方式进行解析,文件的格式是xls的格式,方法是原来带有文件枚举类型的方法进行解析,其实这样也是不会报错的,如下:


在这里插入图片描述
后来看这个过时方法有点别扭打算给他换掉如下图,就点进去看到类似的方法,换成不带类型的进行解析,就报如文章所提到的错,其实里面ExcelTypeEnum excelTypeEnum = ExcelTypeEnum.valueOf(in)就是对inputstream的文件后缀做识别的,但还是报错,就有点蒙


在这里插入图片描述

先查看一下完整的报错信息,只贴主要的

com.alibaba.excel.exception.ExcelAnalysisException: File type error,io must be available 
markSupported,you can do like this <code> new BufferedInputStream(new FileInputStream(\"/xxxx\"))</code> "





问题分析

主要的意思就是文件类型错误,导致文件io出错并且告诉我们解决的方式 ,大致意思是:文件类型错误,io必须可用markSupported,您可以像这样new BufferedInputStream(new FileInputStream(“/xxxx”)) 让你在文件的外面包一层BufferedInputStream,实际上很多网友也是这样解决的,看一下解决方式


问题解决


方式一:就和错误提示的一样,在外层加一个BufferedInputStream: 利用上传文件MultipartFile做的解析,所以可以将获取文件的输入流时做处理,问题主要是获取的时文件inputStream,获取xls时失败。主要原因是项目中引用了poi、poi-oomxl、poi-oomxl-schemas jar包,并且版本与 easyexcel 版本不一致,也可以通过更新/降低 项目中引入的poi版本,使 版本保持一致来解决

inputStream inputStream = file.getInputStream();//原来获取inputstreamInputStream inputStream = new BufferedInputStream(file.getInputStream());//改后正确的获取方式InputStream inputStream = new BufferedInputStream(filePath);//直接读取本机的Excel

方式二:将上传文件改为xlsx的格式就可以解决,毕竟大部分网络的Excel上传都是需要模板的,模板都是自己定义,没必要和自己较劲。一般建议使用xlsx的格式,xls格式是很早之前Windows支持的,不是很好,所以使用slsx,lz是这样解决的