You've already forked lazarus-ccr
fpspreadsheet: Fix too dense background fill of biff2 files in spreadsheet grid, now like in Excel. Read number formats from BIFF2 files (don't use 21 predefined formats any more).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4160 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1380,7 +1380,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
if Workbook.FileFormat = sfExcel2 then
|
if Workbook.FileFormat = sfExcel2 then
|
||||||
begin
|
begin
|
||||||
CreateFillPattern(FillPatternBitmap, fsGray50, clBlack, Color);
|
CreateFillPattern(FillPatternBitmap, fsGray12, clBlack, Color);
|
||||||
Canvas.Brush.Style := bsImage;
|
Canvas.Brush.Style := bsImage;
|
||||||
Canvas.Brush.Bitmap := FillPatternBitmap;
|
Canvas.Brush.Bitmap := FillPatternBitmap;
|
||||||
end else
|
end else
|
||||||
|
@ -298,7 +298,7 @@ end;
|
|||||||
procedure TsSpreadBIFF2Reader.AddBuiltInNumFormats;
|
procedure TsSpreadBIFF2Reader.AddBuiltInNumFormats;
|
||||||
begin
|
begin
|
||||||
FFirstNumFormatIndexInFile := 0;
|
FFirstNumFormatIndexInFile := 0;
|
||||||
InternalAddBuiltInNumFormats(FNumFormatList, Workbook.FormatSettings);
|
//InternalAddBuiltInNumFormats(FNumFormatList, Workbook.FormatSettings);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TsSpreadBIFF2Reader.ReadBlank(AStream: TStream);
|
procedure TsSpreadBIFF2Reader.ReadBlank(AStream: TStream);
|
||||||
@ -430,13 +430,31 @@ end;
|
|||||||
{@@ ----------------------------------------------------------------------------
|
{@@ ----------------------------------------------------------------------------
|
||||||
Reads the FORMAT record required for formatting numerical data
|
Reads the FORMAT record required for formatting numerical data
|
||||||
-------------------------------------------------------------------------------}
|
-------------------------------------------------------------------------------}
|
||||||
|
(*
|
||||||
procedure TsSpreadBIFF2Reader.ReadFORMAT(AStream: TStream);
|
procedure TsSpreadBIFF2Reader.ReadFORMAT(AStream: TStream);
|
||||||
begin
|
begin
|
||||||
Unused(AStream);
|
Unused(AStream);
|
||||||
// We ignore the formats in the file, everything is known
|
// We ignore the formats in the file, everything is known
|
||||||
// (Using the formats in the file would require de-localizing them).
|
// (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;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TsSpreadBIFF2Reader.ReadFromStream(AStream: TStream);
|
procedure TsSpreadBIFF2Reader.ReadFromStream(AStream: TStream);
|
||||||
var
|
var
|
||||||
BIFF2EOF: Boolean;
|
BIFF2EOF: Boolean;
|
||||||
|
Reference in New Issue
Block a user