• 网站刚刚上线,难免有不足的地方,敬请谅解!欢迎提出宝贵意见!

  •    3年前 (2015-10-16)  专业技术 |   1 条评论  199 
    文章评分 1 次,平均分 5.0

    摘要:由于XLS的文件格式内容过于庞大,本文只对BIFF8和BIFF8x版本的XLS文件的基本框架和重要结构进行介绍,XLS文件属于二进制文件,在本文中统一采用十六进制来表述,通过该文可以让大家方便的用程序来生成自己的BIFF8版本的XLS文件。

    关键词:XLS文件格式,XLS二进制文件

    第一章、XLS文件和十六进制

    1.1 通常我们把EXCEL的文件格式叫做BIFF,即BinaryInterchangeFileFormat的缩写,随着EXCEL的不断升级,其文件格式BIFF也在同步的更新与完善,因此对于不同版本的EXCEL有着不同的BIFF版本,下表对EXCEL目前最常用的版本和BIFF的部分版本进行了对照。

    EXCEL版本 BIFF版本EXCEL8.0(EXCEL97)BIFF8EXCEL9.0(EXCEL2000)BIFF8EXCEL10.0(EXCELXP)BIFF8xEXCEL11.0(EXCEL2003) BIFF8x 其中BIFF8x为BIFF8的扩展版本,它在BIFF8的基础上改动了部分属性值。

    1.2 结构知识 在介绍XLS的文件结构时,大家需要知道关于XLS二进制文件的一些基本的结构内容知识:

    1、在文件数据的二进制存储中,低位8字节存放在地址的低位,高位8字节存放在地址的高位,因此在用十六进制编辑器来查看XLS文件时,对于一个完整的双字节,它的显示如0908,那么他的十六进制值应该为0x0809。

    2、XLS文件中的每条完整的数据是由一个标识、长度和数据内容来体现的,如某条数据显示090802000000,那么0908代表这条完整数据的标识,0200代表后面内容的长度,而0000为实际的内容数据。

    3、在数据结构中,1个block的大小为512bytes,而XLS文件是由整数个block来组成的,因此其大小也均为512的倍数。

    第二章、XLS文件格式

    2.1 XLS文件框架 XLS文件作为一个文件流(FileStream),是由多个子流(SubStream)构成的,以下的表格将XLS文件的各个SubStream按照顺序依次展现出来,其中包括了对XLS的各个SubStream的大小的说明,这样可以方便于大家对XLS文件格式有个总体的认识,同时我们由下面的各个Substream的大小可以看出,XLS文件的大小最少也为13,824bytes。

    SubStream 描述 XLSHeader区占1block(512bytes),固定大小。WorkBook区 最小占8个block(4096bytes)SummaryInformation区占8个block(4096bytes),固定大小。DocumentSummaryInformation区占8个block(4096bytes),固定大小。BigBlockpointer区占1个block(512bytes),固定大小。RootEntry区占1个block(512bytes),固定大小。其中WorkBook为数据变化区,它会随着文件内容的增大而增大,但始终保持Block的整数倍。

    【专业技术】XLS文件格式研究

    关注微信公众平台:程序员互动联盟(coder_online),你可以第一时间获取原创技术文章,和(java/C/C++/Android/Windows/Linux)技术大牛做朋友,在线交流编程经验,获取编程基础知识,解决编程问题。程序员互动联盟,开发人员自己的家。

    【专业技术】XLS文件格式研究

     

    本文原始地址:http://www.coderonline.net/expertise-xls-file-format-research.html

    本站所有文章,除特别注明外,均为本站原创,转载请注明出处来自http://www.coderonline.net/

    否则保留追究法律责任的权利!

    关于

    发表评论

    表情 格式
    1. “你本身是尉级高手,其实早就可以竞争校尉了。干嘛不早些竞争?岂不是早可以来此驻扎享受了?”

      澳门威尼斯人5002.com 评论达人 LV.1 3个月前 (04-08) [0] [0]
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册