EXCEL97版本(.xls)和EXCEL2007之后的版本(.xlsx)对比

一、如何区别是97-2003版本的EXCEl还是2007之后版本的EXCEL

      主要查看文件后缀格式就可以确定是哪个版本的:

      如果后缀为:.xls   则这个Excel版本是97-2003版的

      如果后缀为:.xlsx 则这个Excel版本是2007之后版的

     还有另一种Excel常见的后缀为:.xlsm 这种文件是带的文件,使用 ALT + F11 快捷键,可以对宏操作的界面,宏是用VB作为主语言编写的,在这个界面可以对宏进行调试即DEBUG。  

 

二、 .xls版本和.xlsx版本在使用过程中的区别

          .xls版本和.xlsx版本所支持最多的行和列

                             行数           列数

          .xls版本      65536         256(IV列) 

          .xlsx版本    1048576     16384(XFD列)

                                                           

                         97-2003版本最后一列                                                                                         2007之后版本最后一列

        后者为什么能比前者存入的数据大很多呢?因为Office2007之后的版本底层是由XML的压缩文件格式实现的,Office2007的版本在传统的文件扩展名后面添加X 字母,即.doc变为 .docx.xls变为 .xlsx ,使其占用空间更小。

       .xls格式的文件所有OFFICE程序都能打开,但.xlsx只有OFFICE2007或者更新的版本才能打开。

三、总结

       高版本能向低版本兼容,但是低版本则不行。所以大家在使用的时候要注意,如果要将.xlsx格式的文件转换为.xls格式的一定要注意将文件转换为.xls格式之后只保存256列,其余的列都会被删掉,切记。

       来说说我是如何发现这个问题的吧。我们系统一直使用的是JXL的方式解析excel上传文件,将文件内容保存至数据库。但是有一天客户发来一个以.xlsx结尾的高版本EXCEL,这时候我便直接将客户发过来的文件另存为.xlx格式的文件,然后在系统进行上传,但是我上传了好几次发现数据库只保存256列内容,刚开始我还以为是代码有什么问题就去检查代码了,DEDUG发现上传的每一个SHEET页之后256列。我就觉得我发现了问题,紧接着我就检查了我上传的文件发现果然只有256列,查阅资料发现97-2003版本的文件最大支持的列就是256列。然后我就只能换用POI的方式上传.xlsx版本的文件。(JXL没有大牛去维护了所以只支持解析97-2003版本的文件)


本文链接:https://my.lmcjl.com/post/13950.html

展开阅读全文

4 评论

留下您的评论.