diff --git a/components/fpspreadsheet/reference/BIFFExplorer/bebiffgrid.pas b/components/fpspreadsheet/reference/BIFFExplorer/bebiffgrid.pas index a9b6236d7..d7ffa5263 100644 --- a/components/fpspreadsheet/reference/BIFFExplorer/bebiffgrid.pas +++ b/components/fpspreadsheet/reference/BIFFExplorer/bebiffgrid.pas @@ -70,6 +70,7 @@ type procedure ShowLabelCell; procedure ShowLabelSSTCell; procedure ShowLeftMargin; + procedure ShowMergedCells; procedure ShowMMS; procedure ShowMulBlank; procedure ShowMulRK; @@ -397,6 +398,8 @@ begin ShowInterfaceHdr; $00E2: ShowInterfaceEnd; + $00E5: + ShowMergedCells; $00FC: ShowSST; $00FD: @@ -2846,6 +2849,40 @@ begin end; +procedure TBIFFGrid.ShowMergedCells; +var + w: Word; + numBytes: Integer; + i, n: Integer; +begin + numBytes := 2; + Move(FBuffer[FBufferIndex], w, numBytes); + n := WordLEToN(w); // count of merged ranges in this record + + RowCount := FixedRows + 1 + n*4; + ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(n), + 'Count of merged ranges in this record'); + + for i:=1 to n do begin + Move(FBuffer[FBufferIndex], w, numBytes); + w := WordLEToN(w); + ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(w), + Format('Merged range #%d: First row = %d', [i, w])); + Move(FBuffer[FBufferIndex], w, numBytes); + w := WordLEToN(w); + ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(w), + Format('Merged range #%d: Last row = %d', [i, w])); + Move(FBuffer[FBufferIndex], w, numBytes); + ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(w), + Format('Merged range #%d: First column = %d', [i, w])); + Move(FBuffer[FBufferIndex], w, numBytes); + w := WordLEToN(w); + ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(w), + Format('Merged range #%d: Last column = %d', [i, w])); + end; +end; + + procedure TBIFFGrid.ShowMMS; var w: Word; diff --git a/components/fpspreadsheet/reference/BIFFExplorer/bebiffutils.pas b/components/fpspreadsheet/reference/BIFFExplorer/bebiffutils.pas index 86294ee83..a4ddbdde1 100644 --- a/components/fpspreadsheet/reference/BIFFExplorer/bebiffutils.pas +++ b/components/fpspreadsheet/reference/BIFFExplorer/bebiffutils.pas @@ -322,7 +322,7 @@ begin $00E1: Result := 'INTERFACEHDR: Beginning of user interface records'; $00E2: Result := 'INTERFACEEND: End of user interface records'; $00E3: Result := 'SXVS: View source'; - $00E5: Result := 'MEGECELLS: Merged cells'; + $00E5: Result := 'MERGEDCELLS: List of merged cells'; $00E9: Result := 'Bitmap'; $00EA: Result := 'TABIDCONF: Sheet Tab ID of conflict history'; $00EB: Result := 'MSODRAWINGGROUP: Microsoft Office drawing group';