diff --git a/components/fpspreadsheet/fpspreadsheetgrid.pas b/components/fpspreadsheet/fpspreadsheetgrid.pas index 642b4114d..c55ba56be 100644 --- a/components/fpspreadsheet/fpspreadsheetgrid.pas +++ b/components/fpspreadsheet/fpspreadsheetgrid.pas @@ -1380,7 +1380,7 @@ begin begin if Workbook.FileFormat = sfExcel2 then begin - CreateFillPattern(FillPatternBitmap, fsGray50, clBlack, Color); + CreateFillPattern(FillPatternBitmap, fsGray12, clBlack, Color); Canvas.Brush.Style := bsImage; Canvas.Brush.Bitmap := FillPatternBitmap; end else diff --git a/components/fpspreadsheet/xlsbiff2.pas b/components/fpspreadsheet/xlsbiff2.pas index 4a9bed11e..3d81a3249 100755 --- a/components/fpspreadsheet/xlsbiff2.pas +++ b/components/fpspreadsheet/xlsbiff2.pas @@ -298,7 +298,7 @@ end; procedure TsSpreadBIFF2Reader.AddBuiltInNumFormats; begin FFirstNumFormatIndexInFile := 0; - InternalAddBuiltInNumFormats(FNumFormatList, Workbook.FormatSettings); + //InternalAddBuiltInNumFormats(FNumFormatList, Workbook.FormatSettings); end; procedure TsSpreadBIFF2Reader.ReadBlank(AStream: TStream); @@ -430,13 +430,31 @@ end; {@@ ---------------------------------------------------------------------------- Reads the FORMAT record required for formatting numerical data -------------------------------------------------------------------------------} +(* procedure TsSpreadBIFF2Reader.ReadFORMAT(AStream: TStream); begin Unused(AStream); // We ignore the formats in the file, everything is known // (Using the formats in the file would require de-localizing them). +end;*) +procedure TsSpreadBIFF2Reader.ReadFormat(AStream: TStream); +var + len: byte; + fmtIndex: Integer; + fmtString: AnsiString; + nfs: String; +begin + // number format string + len := AStream.ReadByte; + SetLength(fmtString, len); + AStream.ReadBuffer(fmtString[1], len); + + // Add to the end of the list. + nfs := ConvertEncoding(fmtString, FCodePage, encodingUTF8); + NumFormatList.Add(nfs); end; + procedure TsSpreadBIFF2Reader.ReadFromStream(AStream: TStream); var BIFF2EOF: Boolean;