Formatting messed up

Questions and answers on how to use XLSReadWriteII 5.
Post Reply
billegge
Posts: 23
Joined: Fri Feb 08, 2008 8:34 pm

Formatting messed up

Post by billegge »

I am having trouble upgrading from v4 to v5. I am running this in XE.
  • The following code does not set the font to Arial, instead is set to Calibri,
  • The date and float columns does not set the font size to 8 and instead is set to 11.
  • The color of the header is not xcPaleSky but is an orange color.

Code: Select all

procedure TForm12.Button1Click(Sender: TObject);
const
  FirstRow = 0;
  AsIntegerCol = 0;
  AsDateTimeCol = 1;
  AsFloatCol = 2;
  AsBooleanCol = 3;
  AsStringCol = 4;
var
  Sheet: TXLSWorksheet;
  XLS: TXLSReadWriteII5;
begin
  XLS:= TXLSReadWriteII5.Create(nil);
  try
    Sheet:= XLS.Sheets[0];

    // Add Columns
    Sheet.Columns.Items[AsIntegerCol].FontSize:= 8;
    Sheet.Columns.Items[AsIntegerCol].FontName:= 'Arial';
    Sheet.AsString[AsIntegerCol, FirstRow]:= 'AsInteger';

    Sheet.Columns.Items[AsFloatCol].FontSize:= 8;
    Sheet.Columns.Items[AsFloatCol].FontName:= 'Arial';
    Sheet.AsString[AsFloatCol, FirstRow]:= 'AsFloat';

    Sheet.Columns.Items[AsDateTimeCol].FontSize:= 8;
    Sheet.Columns.Items[AsDateTimeCol].FontName:= 'Arial';
    Sheet.AsString[AsDateTimeCol, FirstRow]:= 'AsDateTime';

    Sheet.Columns.Items[AsBooleanCol].FontSize:= 8;
    Sheet.Columns.Items[AsBooleanCol].FontName:= 'Arial';
    Sheet.AsString[AsBooleanCol, FirstRow]:= 'AsBoolean';

    Sheet.Columns.Items[AsStringCol].FontSize:= 8;
    Sheet.Columns.Items[AsStringCol].FontName:= 'Arial';
    Sheet.AsString[AsStringCol, FirstRow]:= 'AsString';

    // Set background color for Column Headers
    Sheet.Range.Items[0, FirstRow, 4, FirstRow].FillPatternForeColor:= Xc12IndexColorPalette[Integer(xcPaleSky)];


    Sheet.AsInteger[AsIntegerCol, 1]:= 123;
    Sheet.AsDateTime[AsDateTimeCol, 1]:= Trunc(Now());
    Sheet.AsFloat[AsFloatCol, 1]:= 123.123;
    Sheet.AsBoolean[AsBooleanCol, 1]:= True;
    Sheet.AsString[AsStringCol, 1]:= 'Just Text';

    Sheet.AutoWidthCols(0, 4);

    XLS.Filename:= 'C:\Temp\TestFile.xlsx';
    XLS.Write;
  finally
    XLS.Free;
  end;
end;

Can you please supply me with a workaround or solution.
Post Reply