微软Excel文件格式2.1(汉化对照)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

广西柳州畜牧兽医学校(汉化对照)MICROSOFTEXCELFILEFORMATMicrosoftExcelisapopularspreadsheet.ItusesafileformatcalledBIFF(BinaryFileFormat).TherearemanytypesofBIFFrecords.Eachhasa4byteheader.Thefirsttwobytesareanopcodethatspecifiestherecordtype.Thesecondtwobytesspecifyrecordlength.Headervaluesarestoredinbyte-reversedform(lesssignificantbytefirst).Therestoftherecordisthedataitself(Figure2-1).MicrosoftExcel是一种流行的电子表格。它使用的文件格式叫做BIFF(二进制文件格式)。这种格式由许多类型的BIFF记录构成,每个记录都有一个4字节的头,其中前两个字节是指定记录类型的操作码,后两个字节指定记录的长度。记录头中的数据值以低位到高位形式存储。除了记录头以外的字节就是记录的数据(如图2-1)Figure2-1.BIFFrecordheader.|记录头|记录体字节编号|0123|01...-----------------------------------记录内容|XX|XX|XX|XX|XX|XX|...-----------------------------------|操作码|长度|数据EachXrepresentsahexadecimaldigitTwoX'sformabyte.Theleastsignificant(low)byteoftheopcodeisbyte0andthemostsignificant(high)byteisbyte1.Similarly,thelowbyteoftherecordlength广西柳州畜牧兽医学校代表一个十六进制数字。两个X组成一个字节。编号0、1字节是操作码。编号3、4字节是记录长度。BOF(BeginningofFile)文件开头。ThefirstrecordineveryspreadsheetisalwaysoftheBOFtype(Figure2-2).电子表格的第一个记录总是BOF(图2-2)。图2-2.BOFrecord.|RecordHeader|RecordBody|Byte|0123|0123|-----------------------------------------Contents|09|00|04|00|02|00|10|00|-----------------------------------------|opcode|length|version|file||||number|type|图2-2。BOF记录。|记录头|记录体|字节|0123|0123|-----------------------------------------目录|09|00|04|00|02|00|10|00|-----------------------------------------|操作码|长度|版本|文件||||编号|类型|Thefirsttwobytes,arrangedwiththelowbytefirst,showthattheopcodeforBOFis09h.Thesecondtwobytesindicatethattherecordbodyis4byteslong.Thefirsttwo广西柳州畜牧兽医学校(2fortheinitialversionofExcel).Thelasttwobytesarethefiletype.Type10hisaworksheetfile.排在前面的两个字节是BOF操作码,这里显示是09H。接下来两个字节表明记录体是4字节长。记录体的头两字节是版本号(2是Excel的初始版本)。后两个字节是文件类型。10h表示是电子表格文件。RelatingSpreadsheetCellstoRecordDataBytesAspreadsheetappearsonascreenorprintoutasamatrixofrectangularcells.Eachcolumnisidentifiedbyaletteratitstop,andeachrowisidentifiedbyanumber.ThuscellA1isinthefirstcolumnandthefirstrow.CellC240isinthethirdcolumnandthe240throw.Thisschemeidentifiescellsinawayeasilyunderstoodbypeople.However,itisnotparticularlyconvenientforcomputers,astheydonothandlelettersefficiently.Theyarebestatdealingwithbinarynumbers.Thus,Excelstorescellidentifiersasbinarynumbers,thatpeoplecanreadashexadecimal.Thefirstnumberinthesystemis0ratherthan1.Figure2-3,whichshowstheformofanINTEGERrecord,illustratesthestorageofcolumnandrowinformation.电子表格的数据记录单元格电子表格在屏幕上显示或以矩阵形式打印出来,每栏的标识在其顶端,每行都有确定的编号。因此,单元格A1在第一列和第一行。单元格C240在第3栏和第240行。这种有规律的编排很容易理解。然而,这样的编排不利于电脑提高信息处理效率。电脑最好的处理方式是使用二进制数字。因此,Excel的存储单元标志使用二进制数字。人们可以把二进制数字理解为十六进制。在系统中第一个编号是0,不是1。图2-3,显示了一个INTEGERrecord(整数形式记录),说明了存储的列广西柳州畜牧兽医学校和行信息。Figure2-3.INTEGERrecord.图2-3。整数纪录。|RecordHeader|RecordBody|总记录头|记录机构字节Byte|0123|012345678|------------------------------------------------------------------值Value|02|00|09|00|00|00|02|00|00|00|00|39|00|------------------------------------------------------------------|opcode|length|row|column|rgbAttr|w||操作码|长度|行|列|rgbAttr|宽|Opcode2indicatesanintegerrecord.Thelengthbytesshowthattherecordbodyis9byteslong.Row0inthebodycorrespondstospreadsheetrow1.Row1correspondstospreadsheetrow2,andsoon.Column2correspondstospreadsheetcolumnC.Thus,Figure2-3dealswithcellC1.Thenextthreebytes,labeledrgbAttr,specifycellattributes(Table2-3).Thefinalpairofbytes,(labeledw)holdstheinteger'svalue.Hereitis39Hor57decimal.ThustherecordspecifiesthatcellC1ofthespreadsheetcontainsanintegerwiththevalue57.操作码2表示是一个整数记录。长度字节的记录表明记录体是9字节长。记录体的第0行对应于电子表格1行。第1行对应电子表格2行,依此类推。第2列相对于电子表格C列。因此,图2-3显示的单元格是C1。接下来的三个字节,标示为“rgbAttr(红绿蓝属性)”指定单元格属性(如表2-3所示)。最后的字节(标记“w”)是无符号整型值,这里是39H(16进制)或57(10进制)。因此,该记录确定单元格C1有一个整数值57。StandardFileRecordOrderExcelworksheetfileshaveeachrecordtypeinapredeterminedposition.Afileneed广西柳州畜牧兽医学校(spreadsheet)files,intheordertheywouldappearinaBIFFfile.Table2-2liststhetypesinopcodeorder.SeveralrecordtypesinaBIFFfile,namely,ROW,BLANK,INTEGER,NUMBER,LABEL,BOOLERR,FORMULA,andCOLUMNDEFAULT,describethecontentsofacell.Theserecordscontaina3byteattributefieldlabeledrgbAttr.Thefollowingtabledescribeshowthebitsinthefieldcorrespondtocellattributes.标准文件记录次序Excel电子表格文件在预定位置有各种类型记录。一个文件不需要所有类型记录,但每个记录都以相同的次序出现。表2-1按出现的顺序列出了Excel电子表格文件的记录类型,这些记录总会出现在BIFF文件中。表2-2按操作码次序列出了不同记录类型。BIFF文件不可缺少的记录类型有行,空白,整数,数量,标签,BOOLERR,公式,默认栏,单元格内容。这些记录包含3字节的属性字段“rgbAttr(红绿蓝属性)”。下表描述了属性字段的比特与对应单元格属性的关系。Table2-1.CellAttributes表2-1。单元格属性ByteOffsetBitDescriptionContents字节偏移位比特位描述比特内容07Cellisnothidden(单元格不隐藏)0bCellishidden(单元格隐藏)1b6Cellisnotlocked(单元格不锁定)0bCellislocked(单元格锁定)1b5-0Reserved(保留),mustbe0(必需是0)000000b7-6Fontnumber(4possible)字体编号(4种可能)广西柳州畜牧兽医学校(单元格没有阴影、色彩)0bCellisshaded(单元格有阴影、色彩)1b6Cellhasnobottomborde

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功