所以在导入Excel的时候,尽量能判斷导入Excel的版本调用不同的方法。
我想到过使用文件后缀名来判断类型但是如果有人将xlsx的后缀改为xls时,如果使用xlsx的函数来读取结果是報错;虽然后缀名对了,但是文件内容编码等都不对
可想而知,在WorkbookFactory.create()函数中肯定有做过对文件类型的判断,一起来看一下源码是如何判斷的:
可以看到有根据文件类型来分别创建合适的Workbook对象。是根据文件的头部信息去比对进行判断的此时,就算改了后缀名还是一样通不过。
// 在row行上创建一个方格
// 把上面创建嘚工作簿输出到文件中
//创建要读入的文件的输入流
//根据上述创建的输入流 创建工作簿对象
//遍历row中的所有方格
//输出方格中的内容以空格间隔
//每一个行输出之后换行
然后生成了excel文件加密
打开excel文件加密校验数据是否正确生成,发现数据正常
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创未经许可,谢绝转载
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。