工作中,经常存在excel文件的导入导出的相关工作,因此正确的文件格式校验成为必须。
不合适的文件校验方式会导致非法文件跳过校验,从而产生不必要的麻烦。
比如,通过文件后缀名的方式进行校验,这种方式其实是存在问题的,因为后缀名可自定义。
正确的校验方式,则应该根据文件流相关属性进行判断。
下面,根据个人工作和参考其他人的经验,逐一进行说明。
一、excel文件两种格式
正常excel存在两种常见的格式,分别是 2003 和 2007格式,
其文件后缀名分别是 .xls
和 .xlsx
。2007版相对与2003版最大的变动是它的文件格式,使用xml语言的压缩方式,更规范也更适合新的需求。
两种格式,都仍有人在同时使用,我个人推荐 2007 格式。
序号 名称 后缀名 文件格式 兼容性 1 2003 .xls bin 不向上兼容 2 2007 .xlsx xml 向下兼容
二、 excel文件校验
这种方式其实也可以用来校验,但只属于初验。用户通过修改文件后缀名,可以绕过这种校验方式。
比如,demo.txt文件,我们可以强制修改文件后缀名,让它变成demo.xls文件。
通常校验的方式是文件名后缀截取,只截取最后一个 .
字符后的内容, 或者使用正则表达式。
处理excel的开源jar包有两个,一个是 jxl
, 一个是 apache poi
,现在主流的是后者。
apache poi 3.xx 版本校验excel跟 4.xx版本存在不同,这里仅就本人遇到的情况进行说明。
这里3.xx版本使用的是 3.10.1
版本。
同上,我们先引入需要的jar包。
Original: https://www.cnblogs.com/lunyu/p/16425192.html
Author: 论语
Title: Excel文件校验
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611406/
转载文章受原作者版权保护。转载请注明原作者出处!