乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      微軟Excel文件格式

       aaie_ 2012-08-28

      Microsoft Excel is a popular spreadsheet. It uses a file format called BIFF (Binary

      File Format). There are many types of BIFF records. Each has a 4 byte header. The

      first two bytes are an opcode that specifies the record type. The second two bytes

      specify record length. Header values are stored in byte-reversed form (less significant

      byte first). The rest of the record is the data itself (Figure 2-1).

       

      Figure 2-1. BIFF record header.

                       | Record Header    | Record Body

      Byte Number      | 0    1    2    3 | 0    1   ...

                      -----------------------------------

      Record Contents    | XX | XX | XX | XX | XX | XX | ...

                      -----------------------------------

                      | opcode   | length | data

                                 

      Each X represents a hexadecimal digit

      Two X's form a byte. The least significant (low) byte of the opcode is byte 0 and the

      most significant (high) byte is byte 1. Similarly, the low byte of the record length

      field is byte 2 and the high byte is byte 3.

       

      BOF (Beginning of File)

      The first record in every spreadsheet is always of the BOF type (Figure 2-2). 

      Figure 2-2. BOF record.

                 | Record Header  |   Record Body   |

      Byte       | 0   1   2   3 | 0   1   2   3 |

                 -----------------------------------------

      Contents   | 09 | 00 | 04 | 00 | 02 | 00 | 10 | 00 |

                 -----------------------------------------

                 | opcode | length | version | file   |

                 |        |        | number | type |

      The first two bytes, arranged with the low byte first, show that the opcode for BOF is

      09h. The second two bytes indicate that the record body is 4 bytes long. The first two

      bytes of the body are the version number (2 for the initial version of Excel). The last

      two bytes are the file type. Type 10h is a worksheet file.

       

      Relating Spreadsheet Cells to Record Data Bytes

      A spreadsheet appears on a screen or printout as a matrix of rectangular cells. Each

      column is identified by a letter at its top, and each row is identified by a number.

      Thus cell A1 is in the first column and the first row. Cell C240 is in the third column

      and the 240th row. This scheme identifies cells in a way easily understood by people.

      However, it is not particularly convenient for computers, as they do not handle letters

      efficiently. They are best at dealing with binary numbers. Thus, Excel stores cell

      identifiers as binary numbers, that people can read as hexadecimal. The first number in

      the system is 0 rather than 1.

      Figure 2-3, which shows the form of an INTEGER record, illustrates the storage of column

      and row information.

      Figure 2-3. INTEGER record.

            | Record Header    | Record Body

      Byte | 0    1    2    3 | 0    1    2    3    4    5    6    7    8 |

            ------------------------------------------------------------------

      Value | 02 | 00 | 09 | 00 | 00 | 00 | 02 | 00 | 00 | 00 | 00 | 39 | 00 |

            ------------------------------------------------------------------

            | opcode | length |   row   | column |   rgbAttr    |    w    |

      Opcode 2 indicates an integer record. The length bytes show that the record body is 9

      bytes long. Row 0 in the body corresponds to spreadsheet row 1. Row 1 corresponds to

      spreadsheet row 2, and so on. Column 2 corresponds to spreadsheet column C. Thus,

      Figure 2-3 deals with cell C1. The next three bytes, labeled "rgbAttr," specify cell

      attributes (Table 2-3). The final pair of bytes, (labeled "w") holds the integer's

      value. Here it is 39H or 57 decimal. Thus the record specifies that cell C1 of the

      spreadsheet contains an integer with the value 57.

      Standard File Record Order

      Excel worksheet files have each record type in a predetermined position. A file need

      not have all types, but the ones that are present are always be in the same order.

      Table 2-1 lists the record types for Excel document (spreadsheet) files, in the order

      they would appear in a BIFF file. Table 2-2 lists the types in opcode order.

      Several record types in a BIFF file, namely, ROW, BLANK, INTEGER, NUMBER, LABEL,

      BOOLERR, FORMULA, and COLUMN DEFAULT, describe the contents of a cell. These records

      contain a 3 byte attribute field labeled "rgbAttr". The following table describes how

      the bits in the field correspond to cell attributes.

      Table 2-1. Cell Attributes

      Byte Offset     Bit   Description                     Contents

           0          7     Cell is not hidden              0b

                            Cell is hidden                  1b

                      6     Cell is not locked              0b

                            Cell is locked                  1b

                      5-0   Reserved, must be 0             000000b

                      7-6   Font number (4 possible)

                      5-0   Cell format code

           2          7     Cell is not shaded              0b

                            Cell is shaded                  1b

                      6     Cell has no bottom border       0b

                            Cell has a bottom border        1b

                      5     Cell has no top border          0b

                            Cell has a top border           1b

                      4     Cell has no right border        0b

                            Cell has a right border         1b

                      3     Cell has no left border         0b

                            Cell has a left border          1b

                      2-0   Cell alignment code

                                 general                    000b

                                 left                       001b

                                 center                     010b

                                 right                      011b

                                 fill                       100b

                                 Multiplan default align.   111b

      The font number field is a zero-based index into the document's table of fonts. the

      cell format code is a zero-based index into the document's table of picture formats.

      There are 21 different standard formats. Additional custom formats may be defined by

      the user. See the FONT and FORMAT record descriptions form additonal details.

      Table 2-2. Excel Record Type in Order of Appearance

      Record Type                Opcode (Hexadecimal)

      BOF                           09

      FILEPASS                      2F

      INDEX                         0B

      CALCCOUNT                     0C

      CALCMODE                      0D

      PRECISION                     0E

      REFMODE                       0F

      DELTA                         10

      ITERATION                     11

      1904                          22

      BACKUP                        40

      PRINT ROW HEADERS             2A

      PRINT GRIDLINES               2B

      HORIZONTAL PAGE BREAKS        1B

      VERTICAL PAGE BREAKS          1A

      DEFAULT ROW HEIGHT            25

      FONT                          31

      FONT2                         32

      HEADER                        14

      FOOTER                        15

      LEFT MARGIN                   26

      RIGHT MARGIN                  27

      TOP MARGIN                    28

      BOTTOM MARGIN                 29

      COLWIDTH                      24

      EXTERNCOUNT                   16

      EXTERNSHEET                   17

      EXTERNNAME                    23

      FORMATCOUNT                   1F

      FORMAT                        1E

      NAME                          18

      DIMENSIONS                    00

      COLUMN DEFAULT                20

      ROW                           08

      BLANK                         01

      INTEGER                       02

      NUMBER                        03

      LABEL                         04

      BOOLERR                       05

      FORMULA                       06

      ARRAY                         21

      CONTINUE                      3C

      STRING                        07

      TABLE                         36

      TABLE2                        37

      PROTECT                       12

      WINDOW PROTECT                19

      PASSWORD                      13

      NOTE                          1C

      WINDOW1                       3D

      WINDOW2                       3E

      PANE                          41

      SELECTION                     1D

      EOF                           0A

      Table 2-3. Excel Record Types in Opcode Order

      Record Type             Opcode (hexadecimal)

      DIMENSIONS                 00

      BLANK                      01

      INTEGER                    02

      NUMBER                     03

      LABEL                      04

      BOOLERR                    05

      FORMULA                    06

      STRING                     07

      ROW                        08

      BOF                        09

      EOF                        0A

      INDEX                      0B

      CALCCOUNT                  0C

      CALCMODE                   0D

      PRECISION                  0E

      REFMODE                    0F

      DELTA                      10

      ITERATION                  11

      PROTECT                    12

      PASSWORD                   13

      HEADER                     14

      FOOTER                    15

      EXTERNCOUNT                16

      EXTERNSHEET                17

      NAME                       18

      WINDOW PROTECT             19

      VERTICAL PAGE BREAKS       1A

      HORIZONTAL PAGE BREAKS     1B

      NOTE                       1C

      SELECTION                  1D

      FORMAT                     1E

      FORMATCOUNT                1F

      COLUMN DEFAULT             20

      ARRAY                      21

      1904                       22

      EXTERNNAME                 23

      COLWIDTH                   24

      DEFAULT ROW HEIGHT         25

      LEFT MARGIN                26

      RIGHT MARGIN               27

      TOP MARGIN                 28

      BOTTOM MARGIN              29

      PRINT ROW HEADERS          2A

      PRINT GRIDLINES            2B

      FILEPASS                   2F

      FONT                       31

      FONT2                      32

      TABLE                      36

      TABLE2                     37

      CONTINUE                   3C

      WINDOW1                    3D

      WINDOW2                    3E

      BACKUP                     40

      PANE                       41

       

      Worksheet Record Types in Opcode Order

      The following section lists all record types in opcode order. It gives a specification

      and byte-by-byte breakdown of each type. Note that Excel terminology refers to

      spreadsheets or worksheets as "documents."

      DIMENSIONS                  00h                         0d

       

      Record Type: DIMENSIONS

      Description: Entire dimensions or range of a spreadsheet

      Record Body Length: 8 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        First row

                 2-3        Last row plus 1

                 4-5        First column

                 6-7        Last column plus 1

      Note: The last row and column in the record are both one greater than the highest

      numbered occupied ones.

       

      BLANK                       01h                         1d

       

      Record Type: BLANK

      Description: Cell with no formula or value

      Record Body Length: 7 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Row

                 2-3        Column

                 4-6        Cell attributes (rgbAttr) (Table 2-3)

       

      INTEGER                     02h                         2d

       

      Record Type: INTEGER

      Description: Constant unsigned integer

      Record Body Length: 9 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Row

                 2-3        Column

                 4-6        Cell attributes (rgbAttr) (Table 2-3)

                 7-8        Unsigned integer value (w)

       

      NUMBER                      03h                         3d

       

      Record Type: NUMBER

      Description: Constant floating point number

      Record Body Length: 15 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Row

                 2-3        Column

                 4-6        Cell attributes (rgbAttr) (Table 2-3)

                 7-14       Floating point number value (IEEE format, see Appendix A)

       

      LABEL                       04h                         4d

       

      Record Type: LABEL

      Description: Constant string

      Record Body Length: 8 to 263 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Row

                 2-3        Column

                 4-6        Cell attributes (rgbAttr) (Table 2-3)

                 7          Length of string

                 8-263      ASCII string, 0 to 255 bytes long

       

      BOOLERR                     05h                         5d

       

      Record Type: BOOLERR

      Description: Boolean constant or error value

      Record Body Length: 9 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Row

                 2-3        Column

                 4-6        Cell attributes (rgbAttr) (Table 2-3)

                 7          Boolean or error value

                                      Boolean

                                            true                 1

                                            false                0

                                      Error

                                            #NULL!               0

                                            #DIV/0!              7

                                            #VALUE!              0Fh

                                            #REF!                17h

                                            #NAME?               1Dh

                                            #NUM!                24h

                                            #N/A                 2Ah

                 8          Specifies Boolean or error

                                      Boolean                    0

                                      Error                      1

       

      FORMULA                     06h                         6d

       

      Record Type: FORMULA

      Description: Name, size, and contents of a formula cell

      Record Body Length: 17-272 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Row

                 2-3        Column

                 4-6        Cell attributes (rgbAttr) (see Table 2-3)

                 7          Current value of formula (IEEE format, see Appendix A)

                 15         Recalc flag

                 16         Length of parsed expression

                 17         Parsed expression

      If a formula must be recalculated whenever it is loaded, the recalc flag (byte 15) must

      be set. Any nonzero value is a set recalc flag. However, a flag value of 3 indicates

      that the cell is a part of a matrix, and the entire matrix must be recalculated. Bytes 7

      through 14 may contain a number, a Boolean value, an error code, or a string. The

      following tables apply.

      Case 1: Bytes 7 - 14 contain a Boolean value.

           Byte Number     Byte Description          Contents (hex)

                 7         otBool                          1

                 8         Reserved                        0

                 9         Boolean value

                 10-12     Reserved                        0

                 13-14     fExprO                          FFFFh

      Case 2: Bytes 7 - 14 contain an error code.

           Byte Number     Byte Description          Contents (hex)

                 7         otErr                           2

                 8         Reserved                        0

                 9         error code

                 10-12     Reserved                        0

                 13-14     fExprO                          FFFFh

      Case 3: Bytes 7 - 14 contain a string.

           Byte Number     Byte Description         Contents (hex)

                 7         otString                        0

                 8-12      Reserved                        0

                 13-14     fExprO                          FFFFh

      The string value itself is not stored in the field, but rather in a separate record of

      the STRING type.

      STRING                      07h                         7d

       

      Record Type: STRING

      Description: Value of a string in a formula

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number     Byte Description           Contents (hex)

                 0          Length of the string

                 1-256 (max) The string itself

      The STRING record appears immediately after the FORMULA record that evaluates to the

      string, unless the formula is in an array. In that case, the string record immediately

      follows the ARRAY record.

      ROW                         08h                         8d

       

      Record Type: ROW

      Description: Specifies a spreadsheet row

      Record Body Length: 16 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Row number

                 2-3        First defined column in the row

                 4-5        Last defined column in the row plus 1

                 6-7        Row height

                 8-9        RESERVED                               0

                 10         Default cell attributes byte

                            Default attributes                      1

                            Not default attributes                  0

                 11-12      Offset to cell records for this row

                 13-15      Cell attributes (rgbAttr) (see Table 2-3)

       

      BOF                         09h                         9d

       

      Record Type: BOF

      Description: Beginning of file

      Record Body Length: 4 bytes

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Version number

                                 Excel                           2

                                 Multiplan                       3

                 2-3        Document type

                                 worksheet                       10h

                                 chart                           20h

                                 macro sheet                     40h

      If bit 8 of the version number byte pair is high (mask with 0100h to find out), the BIFF

      file is a Multiplan document.

      EOF                         0Ah                         10d

       

      Record Type: EOF

      Description: End of file

      Record Body Length: 0 bytes

      The EOF record is the last one in a BIFF file. It always takes the form 0A000000h.

      INDEX                       0Bh                         11d

       

      Record Type: INDEX

      Description: Contains pointers to other records in the BIFF file, and defines the range

      of rows used by the document. It is used to simplify searching a file for a particular

      cell or name.

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-3        Absolute file position of first NAME record

                 4-5        First row that exists

                 6-7        Last row that exists plus 1

                 8-on       Array of absolute file positions of the

                            blocks of ROW records.

      The INDEX record is optional. If present, it must immediately follow the FILEPASS

      record. IF there is no FILEPASS record, it must follow the BOF record.

      CALCCOUNT                   0Ch                         12d

       

      Record Type: CALCCOUNT

      Description: Specifies the iteration count

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Iteration Count

      CALCMODE                    0Dh                         13d

       

      Record Type: CALCMODE

      Description: Specifies the calculation mode

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Calculation mode

                              Manual                           0

                              Automatic                        1

                              Automatic, no tables            -1

      PRECISION                   0Eh                         14d

       

      Record Type: PRECISION

      Description: Specifies precision of calculations for document

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number     Byte Description               Contents (hex)

                 0-1        Document precision

                              precision as displayed           0

                              full precision                   1

      REFMODE                     0Fh                         15d

       

      Record Type: REFMODE

      Description: Specifies location reference mode

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number     Byte Description            Contents (hex)

                0-1         Reference mode

                              R1C1 mode                      0

                              A1 mode                        1

      DELTA                       10h                         16d

       

      Record Type: DELTA

      Description: Maximum change for an iterative model

      Record Body Length: 8

      Record Body Byte Structure:

            Byte Number           Byte Description      Contents (hex)

                0-7               Maximum change (IEEE format, see Appendix A)

      ITERATION                   11h                         17d

       

      Record Type: ITERATION

      Description: Specifies whether iteration is on

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Iteration flag

                                    Iteration off               0

                                    Iteration on                1

      PROTECT                     12h                         18d

       

      Record Type: PROTECT

      Description: Specifies whether the document is protected with a document password

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Document protection

                                    Not protected               0

                                    Protected                   1

      PASSWORD                    13h                         19d

       

      Record Type: PASSWORD

      Description: Contains encrypted document password

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Encrypted password

      HEADER                      14h                         20d

       

      Record Type: HEADER

      Description: Specifies header string that appears at the top of every page when the

      document is printed

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                 0                Length of string (bytes)

               1-on               Header string (ASCII)

      FOOTER                      15h                         21d

       

      Record Type: FOOTER

      Description: Specifies footer string that appears at the bottom of every page when the

      document is printed

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0                 Length of string (bytes)

              1-on                Footer string (ASCII)

      EXTERNCOUNT                 16h                         22d

       

      Record Type: EXTERNCOUNT

      Description: Specifies the number of documents referenced externally by an Excel

      document

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Number of externally referenced documents

      EXTERNSHEET                 17h                         23d

       

      Record Type: EXTERNSHEET

      Description: Specifies a document that is referenced externally by the Excel file.

      There must be an EXTERNSHEET record for every external file counted by the EXTERNCOUNT record.

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                 0                Length of document name

                1-on              Document name

      The document name may be encoded. If so, its first character will be 0, 1 or 2.

      0 indicates the document name is an external reference to an empty sheet.

      1 indicates the document name has been translated to a less sys-tem-dependent name.

      This feature is valuable for documents intended for a non-DOS environment.

      2 indicates that the externally referenced document is, in fact, the current document.

      NAME                        18h                         24d

       

      Record Type: NAME

      Description: User-defined name on the document

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                 0                Name attribute

                                    Only bits 1 and 2 are ever nonzero.

       

                                    Bit 1 is 1 if the name is a function or

                                    command name on a macro sheet.

       

                                    Bit 2 is 1 if the name definition

                                    includes:

                                    * A function that returns an array, such

                                       as TREND or MINVERSE

                                    * A ROW or COLUMN function

                                    * A user-defined function

       

                                  Name attribute

                                    Meaningful only if bit 1 of

                                    byte 0 is 1 (the name is a function or

                                    command name). Only bits 0 and 1 are 

                                    ever nonzero.

       

                                    Bit 0 is 1 if the name is a function.

       

                                    Bit 1 is 1 if the name is a command.

       

                 2                Keyboard shortcut. Meaningful only if the 

                                  name is a command.

                                    If no keyboard shortcut     0

                                    If shortcut exists          ASCII value

       

                 3                Length of the name text

                 4                Length of the name's definition

                 5-?              Text of the name

                 -?              Name's definition (parsed) in internal

                                  compressed format

                                 Length of the name's definition (duplicate)

      All NAME records should appear together in a BIFF file.

      WINDOW PROTECT              19h                         25d

       

      Record Type: WINDOW PROTECT

      Description: Specifies whether a document's windows are protected

      Record Body Length: 2 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Window protect flag

                                  Not protected                 0

                                  Protected                     1

      VERTICAL PAGE BREAKS        1Ah                          26d

       

      Record Type: VERTICAL PAGE BREAKS

      Description: Lists all column page breaks

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Number of page breaks

                2-on              Array containing a 2-byte integer for each

                                  column that immediately follows a column page

                                  break. Columns must be sorted in ascending

                                  order.

      HORIZONTAL PAGE BREAKS      1Bh                         27d

       

      Record Type: HORIZONTAL PAGE BREAKS

      Description: Lists all row page breaks

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Number of page breaks

                2-on              Array containing a 2-byte integer for each

                                  row that immediately follows a row page

                                  break. Rows must be sorted in ascending

                                  order.

      NOTE                        1Ch                         28d

       

      Record Type: NOTE

      Description: Note associated with a cell

      Record Body Length: Variable, maximum of 254

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Row of the note

                2-3               Column of the note

                4-5               Length of the note part of the record

                6-on               Text of the note

      Notes longer than 2048 characters must be split among multiple records. All except the

      last one will contain 2048 text characters. The last one will contain the overflow.

      SELECTION                   1Dh                         29d

       

      Record Type: SELECTION

      Description: Specifies which cells are selected in a pane of a split window. It can

      also specify selected cells in a window that is not split.

      Record Body Length: Variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                 0                Number of pane

                                    bottom right                0

                                    top right                   1

                                    bottom left                 2

                                    top left                    3

                                    no splits                   3

                1-2               Row number of the active cell

                3-4               Column number of the active cell

                5-6               Reference number of the active cell

                7-8               Number of references in the selection

                9-on              Array of references

      Each reference in the array consists of 6 bytes arranged as follows:

            Byte Number           Byte Description

                0-1               First row in the reference

                2-3               Last row in the reference

                 4                First column in the reference

                 5                Last column in the reference

      FORMAT                      1Eh                         30d

       

      Record Type: FORMAT

      Description: Describes a picture format in a document. All FORMAT records must appear

      together in a BIFF file.

      Record Body Length: Variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                 0                Length of format string

                1-on              Picture format string

      FORMATCOUNT                 1Fh                         31d

       

      Record Type: FORMATCOUNT

      Description: The number of standard FORMAT records in the file. There are 21 different

      format records.

      Record Body Length: 2 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Number of built in format records.

      COLUMN DEFAULT              20h                         32d

       

      Record Type: COLUMN DEFAULT

      Description: Specifies default cell attributes for cells in a particular column. The

      default value is overriden for individual cells by a subsequent explicit definition.

      Record Body Length: Variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Column number of first column for which a

                                    default cell is being defined

                2-3               Column number of last column for which a

                                    default cell is being defined, plus 1.

                4-on              Array of cell attributes

      ARRAY                       21h                         33d

       

      Record Type: ARRAY

      Description: Describes a formula entered into a range of cells as an array. Occurs

      immediately after the FORMULA record for the upper left corner of the array.

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                0-1               First row of the array

                2-3               Last row of the array

                 4                First column of the array

                 5                Last column of the array

                 6                Recalculation flag

                                    Array is calculated             0

                                    Needs to be calculated         nonzero

                 7                Length of parsed expression

                8-on              Parsed expression (array formula)

      1904                        22h                         34d

       

      Record Type: 1904

      Description: Specifies date system used on this spreadsheet

      Record Body Length: 2 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                0-1               Specifies date system used

                                    1904 date system                 1

                                    anything else                    0

      EXTERNNAME                  23h                         35d

       

      Record Type: EXTERNNAME

      Description: An externally referenced name, referring to a work-sheet or macro sheet or

      to a DDE topic. All EXTERNNAME records associated with a supporting document must

      directly follow its EXTERNSHEET record.

      Record Body Length: Variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                 0                Length of the name

                1-on              The name

      When EXTERNNAME references a DDE topic, Excel may append its most recent values to the

      EXTERNNAME record. If the record becomes too long to be contained in a single record,

      it is split into multiple records, with CONTINUE records holding the excess.

      COLWIDTH                    24h                         36d

       

      Record Type: COLWIDTH

      Description: Sets column width for a range of columns

      Record Body Length: 3 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                 0                First column in the range

                 1                Last column in the range

                2-3               Column width in units of 1/256th of a

                                  character

      DEFAULT ROW HEIGHT          25h                         37d

       

      Record Type: DEFAULT ROW HEIGHT

      Description: Specifies the height of all rows that are not defined explicitly

      Record Body Length: 2 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Default row height in units of 1/20th of a

                                  point

      LEFT MARGIN                 26h                          38d

       

      Record Type: LEFT MARGIN

      Description: Specifies the left margin in inches when the document is printed

      Record Body Length: 8 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-7               Left margin (IEEE format, see Appendix A)

      RIGHT MARGIN                27h                         39d

       

      Record Type: RIGHT MARGIN

      Description: Specifies the right margin in inches when the document is printed

      Record Body Length: 8 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-7               Right margin (IEEE format, see Appendix A)

      TOP MARGIN                  28h                         40d

       

      Record Type: TOP MARGIN

      Description: Specifies the top margin in inches when the document is printed

      Record Body Length: 8 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-7               Top margin (IEEE format, see Appendix A)

      BOTTOM MARGIN               29h                         41d

       

      Record Type: BOTTOM MARGIN

      Description: Specifies the bottom margin in inches when the document is printed

      Record Body Length: 8 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-7               Bottom margin (IEEE format, see Appendix A)

      PRINT ROW HEADERS           2Ah                          42d

       

      Record Type: PRINT ROW HEADERS

      Description: Flag determines whether to include row and column headers on printout of

      document

      Record Body Length:

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                0-1               Row and Column Header Print Flag

                                    Do not print headers             0

                                    Print headers                    1

      PRINT GRIDLINES             2Bh                         43d

       

      Record Type: PRINT GRIDLINES

      Description: Flag determines whether to print gridlines on print-out of document

      Record Body Length: 2

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                0-1               Gridline Print Flag

                                    Do not print gridlines           0

                                    Print gridlines                  1

      FILEPASS                    2Fh                         47d

       

      Record Type: FILEPASS

      Description: Specifies a file password. If this record is present, the rest of the file

      is encrypted. The file password specified here is distinct from the document password

      specified by the PASSWORD record. If present, the FILEPASS record must immediately

      follow the BOF record.

      Record Body Length:

      Record Body Byte Structure:

           Byte Number           Byte Description         Contents (hex)

                0-on             

      FONT                        31h                         49d

       

      Record Type: FONT

      Description: Describes an entry in the document's font table. A document may have up to

      4 different fonts, numbered 0 to 3. Font records are written in the font table in the

      order in which they are encountered in the file.

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (binary)

                0-1               Height of the font (in 1/20ths of a point)

                2-3               Font Attributes

                                    First byte (reserved)             00000000b

                                    Second byte

                                      Bit 0 - bold                        1b

                                      Bit 1 - italic                      1b

                                      Bit 2 - underline                   1b

                                      Bit 2 - strikeout                   1b

                                      Bits 4-7 (reserved)               0000b

                 4                Length of font name

                5-?               Font name

      FONT2                    32h                         50d

       

      Record Type: FONT2

      Description:  System specific information about the font defined in the previous FONT

      record. The FONT2 record is option-al.

      Record Body Length: Variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

               0-on             

      TABLE                    36h                         54d

       

      Record Type: TABLE

      Description: Describes a one-input row or column table created through the Data Table

      command

      Record Body Length: 12 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                0-1               First row of the table

                2-3               Last row of the table

                 4                First column of the table

                 5                Last column of the table

                 6                Recalculation flag

                                    Table is recalculated           0

                                    Not recalculated              nonzero

                 7                Row or column input table flag

                                    Column input table              0

                                    Row input table                 1

                8-9               Row of the input cell

                10-11             Column of the input cell

      The area given by the first and last rows and columns does not include the outer row or

      column, which contains table formulas or input values. If the input cell is a deleted

      reference, the row of the input cell, given by the bytes at offset 8 and 9, is -1.

      TABLE2                    37h                         55d

       

      Record Type: TABLE2

      Description: Describes a two-input table created by the Data Table command. It is the

      same as the TABLE record, except there is no distinction between a row input table and a

      column input table, there are two input cells rather than one, and either may have a

      value of -1, indicating a deleted reference.

      Record Body Length: 16 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                0-1               First row of the table

                2-3               Last row of the table

                 4                First column of the table

                 5                Last column of the table

                 6                Recalculation flag

                                    Table is calculated              0

                                    Needs recalculation           nonzero

                 7                RESERVED - must be zero            0

                8-9               Row of the row input cell

                10-11             Column of the row input cell

                12-13             Row of the column input cell

                14-15             Column of the column input cell

      CONTINUE                    3Ch                         60d

       

      Record Type: CONTINUE

      Description: Continuation of FORMULA, ARRAY, or EXTERNNAME records that are too long to

      fit in a single record.

      Record Body Length: variable

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-on              Parsed expression

      WINDOW1                    3Dh                          61d

       

      Record Type: WINDOW1

      Description: Basic window information. Locations are relative to the upper left corner

      of the Microsoft Windows desktop, and are measured in units of 1/20th of a point.

      Record Body Length: 9 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                0-1               Horizontal position of the window

                2-3               Vertical position of the window

                4-5               Width of the window

                6-7               Height of the window

                 8               Hidden attribute

                                   Window is not hidden             0

                                   Window is hidden                 1

      If you do not include a WINDOW1 record in your BIFF file, Excel will create a default

      window in your document.

      WINDOW2                    3Eh                         62d

       

      Record Type: WINDOW2

      Description: Advanced window information. The WINDOW2 record is optional. If present,

      it must immediately follow the WINDOW1 record.

      Record Body Length: 14 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description              Contents (hex)

                 0                Display Formulas

                                    Display values                   0

                                    Display formulas                 1

                 1                Display Grid

                                    Do not display gridlines         0

                                    Display gridlines                1

                 2                Display Row and Column Headers

                                    Do not display headers           0

                                    Display headers

                 3                Freeze window panes

                                    Do not freeze panes              0

                                    Freeze panes                     1

                 4                Display zero values

                                    Suppress display                 0

                                   Display zero values              1

                5-6               Top row visible in the window

                7-8               Leftmost column visible in the window

                 9                Row/column header and gridline color

                                    Specified in next four bytes 0

                                    Use window's default             1

                                    foreground color.

                10-13             Row/column headers and gridline color (RGB)

      BACKUP                    40h                         64d

       

      Record Type: BACKUP

      Description: Specifies whether a BIFF file should be backed up

      Record Body Length: 2 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Backup flag

                                    Do not back up              0

                                    Back up                     1

      PANE                        41h                         65d

       

      Record Type: PANE

      Description:  Describes the number and position of unfrozen panes in a window. Panes are

      created by horizontal and vertical splits, which are measured in units of 1/20th of a

      point.

      Record Body Length: 9 bytes

      Record Body Byte Structure:

            Byte Number           Byte Description         Contents (hex)

                0-1               Horizontal position of the split, zero if none

                2-3               Vertical position of the split, zero if none

                4-5               Top row visible in the bottom pane

                6-7              Leftmost column visible in the right pane

                 8                Pane number of the active pane

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多