复合文档结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言
网络上,有一篇流传颇广的叫做《Excel文件格式》的资料,就是英文的,老实说,这篇资料对我关于“Excel文件格式”的理解,起到启蒙的作用,但就是,进一步老实说,这篇资料对于我的最终工作结果,几乎起不到任何作用。
这篇被广泛如获至宝收藏的资料,就是基于BIFF2的,BIFF的意思就是Binary Interchange File Format(二进制交换文件格式),BIFF2版本的Excel文件并不支持“合并单元格”,这对于我的工作就是个致命的打击,无法“合并单元格”,谈何“所见即所得”?
所以,我怀疑那些收藏的人,有没有认真的用过这篇资料!
当然包括我,我最早得到这篇资料至今少说也有5年了,也就是到了最近实在不得不用的时候,才发现了这个问题。
这也许就是人之常情,被我怀疑的同学们不必为了这个跟我急!
既然这样,那就得继续找资料了……
于就是找到一篇《excelfileformat》,也就是英文的,这一篇很好,从BIFF2-BIFF8,非常详尽的阐述了Excel的文件格式,老外们在这方面的态度还就是比较认真的,值得学习。
但就是问题又来了,仅BIFF8版本的Excel文件支持“合并单元格”!
这个问题似乎很好解决,按照BIFF8的格式来做不就行了?
当然行,就是的,可以按照BIFF8的格式来做。做出来的文件也可以被Excel读取,但必须通过两次崩溃、修复后才能使用。
为什么?!
微软有一个“复合文档格式”,Office从97到2003都采用“复合文档格式”来组织文
档,Word、Excel、PowerPoint等等,都采用这种格式来保存。
据说微软最新又推出另一种格式,但就是问题不大,于我的工作,“复合文档”已经够用了。
“裸”的BIFF8版本的Excel文件,用Excel来打开,可能导致读写错误,进而导致崩溃,同时Excel的修复功能能够把它修复成“复合文档”。
这就是我的理解。
有这样的问题,显然就是不能提交给客户的。那么就必须给Excel文件“穿上”“复合文档”的外衣,要搞定Excel文件,必须先搞定复合文档。
因此,“复合文档”成了通向我的工作的第一只拦路虎(为什么说“第一只”?因为后面还有)!必须解决掉。
还得找资料……
于就是又找到一篇《compdocfileformat》,与前面提到的《excelfileformat》一同出自一个叫做“OpenOffice”的组织。我想我应该谢谢她们。
值得一提的就是,网上有人说这些文档的结构,微软官方并不公开,就是一些黑客通过跟踪、分析等等整理出来,不知就是真就是假。反正很佩服这些人的毅力。
由于我的英文实在太差,有了这些英文的文档,学习起来还就是很吃力,就想,会不会有中文资料?
找来找去,找到一份叫做《复合文档格式研究》的资料,作者声称就是为了另一篇正在创作的《Excel文件格式研究》准备的。
我为什么没有先搜到这份并不奇怪,因为我在找“Excel文件格式”并不知道“复合文档”……
作者声称这份中文资料为其“创作”,但扫一眼就瞧出来这就是《compdocfileformat》的翻译,而且翻译的水平跟“金山词霸”有得一拼,被人追问“记得保存过类似的资料,所以想问一下,这就是您原创还就是翻译?”之下,于就是退缩为“说原创就是不可能的,我既不就是微软
的工程师,也不就是世界顶尖黑客。关于excel内部结构,微软就是不会公开的,有关的资料也就是国外一些黑客用反编译的方法推测出来的。本文就是在翻译的基础上,加了一些其她的内容,但都就是自己写的。”
这世道……
这篇《复合文档格式研究》倒就是对我的工作起到了很大的帮助作用,我还就是得谢谢作者,虽然作者对原文做了大量的删节而不就是“加了一些其她的内容”,连章节引用都没改,
可见确实“都就是自己写的”。
资料齐了,可以动手了。
不知道就是因为东西方的文化差异造成的,还就是我的基础实在太差,很多地方很难懂,做的过程相当痛苦。
从开始找资料到第一个Excel文件的输出,整整花了三周的时间,折腾之下,也就有了一点心得,于就是决定记录下来,那得有个地方记,于就是决定重开博客。
对于复合文档,由于并非小狮原创,也谈不上“研究”,于就是叫做《复合文档学习笔记》。
一向,我主张不管学术本身如何晦涩,写出来,也要尽量让毫无基础的人能够瞧懂。
而且我也就是个很啰嗦的人,写成文字可能就相当“冗余”。
但我自己又就是一个很善于遗忘的人,既然就是笔记,那也要预着将来自己把相关知识
忘个一干二净以后再来瞧能瞧得懂,有利于自己再学习,于就是就要一如既往的“啰嗦”了。
本文基本上按照我自己的学习经过来写,重点在我认为难懂的地方阐述自己的见解。
当然,您也可以认为我就是在“翻译一些资料”,但我实在不敢用“翻译”二字,问题就因为“我的英文实在太差”,英文原文可能已经很详尽了,我的这一篇也可能就是“添足之笔”,但我保证这就是我“自己写的”。
原文《compdocfileformat》与《excelfileformat》都就是老外牛人的心血,不敢窃为己有,提供链接:
复合文档格式http://sc、openoffice、org/compdocfileformat、pdf、
Excel文件格式http://sc、openoffice、org/excelfileformat、pdf。
如果您只就是想了解这些结构,而且基础及英文还行,瞧原文就可以了。
如果您想要瞧中文的,而且受得了我的啰嗦,那就瞧我的。
当然还要有耐心,这就是第一篇,我很忙,第二篇什么时候写就不一定了。
但我想我会在忘了这些之前把它写完。
头部
原创:弄潮小狮
从前文谈及的两份来之OpenOffice的文档瞧,《compdocfileformat》(复合文档文件格式)只有区区200来KB,《excelfileformat》(Excel文件格式)却超过1MB,瞧起来,Excel文件的结