仅供学习,如要转载请跟原作者联系!
文章来自 http://hi.baidu.com/bellgrade/blog/item/70a026fb786b329b59ee90d4.html
第一章、XLS 文件和十六进制
1.1 XLS 文件和 BIFF 版本对照
通常我们把 EXCEL 的文件格式叫做 BIFF,即.Binary Interchange File Format 的缩写,随着 EXCEL 的不断升级,其文件格式 BIFF
也在同步的更新与完善,因此对于不同版本的 EXCEL 有着不同的 BIFF 版本,下表对 EXCEL 目前最常用的版本和 BIFF 的部分版本进行
了对照。
EXCEL 版本 BIFF 版本
EXCEL 8.0(EXCEL
97)
BIFF8
EXCEL 9.0(EXCEL
2000)
BIFF8
EXCEL 10.0(EXCEL
XP)
BIFF8x
EXCEL 11.0(EXCEL
2003)
BIFF8x
!!!!其中 BIFF8x 为 BIFF8 的扩展版本,它在 BIFF8 的基础上改动了部分属性值。
1.2结构知识
在介绍 XLS 的文件结构时,大家需要知道关于 XLS 二进制文件的一些基本的结构内容知识:
1、.在文件数据的二进制存储中,低位 8 字节存放在地址的低位,高位 8 字节存放在地址
的高位,因此在用十六进制编辑器来查看 XLS 文件时,对于一个完整的双字节,它的显示
如.09 08,那么他的十六进制值应该为 0x0809。
2、.XLS 文件中的每条完整的数据是由一个标识、长度和数据内容来体现的,如某条数据
显示.09 08!span style="COLOR: blue">02!00!00!00,那么 09 08 代表这条完整数据
的标识,02 00 代表后面内容的长度,而 00 00 为实际的内容数据。
3、.在数据结构中,1 个 block 的大小为 512bytes,而 XLS 文件是由整数个 block 来组
成的,因此其大小也均为 512 的倍数。
4、.XLS 文件整体被分为多个子流(SubStream),这些 SubStream 都由若干个整数倍
Block 来组成的。
1.3撰写规范