Column insert process, corrupts the existing formula

Questions and answers on how to use XLSReadWriteII 5.
Post Reply
ykarapinar
Posts: 22
Joined: Fri May 17, 2013 7:59 am

Column insert process, corrupts the existing formula

Post by ykarapinar »

Code: Select all

var
  col, row: Integer;
begin
  XLSReadWriteII51.FileName:='C:\XLSRW.xlsx';
  XLSReadWriteII51.Add;
  XLSReadWriteII51.Add;
  XLSReadWriteII51.Sheets[0].Name:='Before Insert Column';
  XLSReadWriteII51.Sheets[1].Name:='After Insert Column';
  XLSReadWriteII51.Sheets[2].Name:='Must be';

  // Before Insert Column
  for col:=2 to 9 do
    for row:=0 to 9 do
      XLSReadWriteII51.Sheets[0].AsFormula[col, row]:='A1+L1';
  XLSReadWriteII51.Sheets[0].AsInteger[ 0, 0]:=1;
  XLSReadWriteII51.Sheets[0].AsInteger[11, 0]:=2;
  XLSReadWriteII51.Sheets[0].Cell[ 0, 0].FillPatternForeColorRGB:=clYellow;
  XLSReadWriteII51.Sheets[0].Cell[11, 0].FillPatternForeColorRGB:=clYellow;

  // After Insert Column
  for col:=2 to 9 do
    for row:=0 to 9 do
      XLSReadWriteII51.Sheets[1].AsFormula[col, row]:='A1+L1';
  XLSReadWriteII51.Sheets[1].AsInteger[ 0, 0]:=1;
  XLSReadWriteII51.Sheets[1].AsInteger[11, 0]:=2;
  XLSReadWriteII51.Sheets[1].Cell[ 0, 0].FillPatternForeColorRGB:=clYellow;
  XLSReadWriteII51.Sheets[1].Cell[11, 0].FillPatternForeColorRGB:=clYellow;
  XLSReadWriteII51[1].InsertColumns(4, 1);

  // Must be
  for col:=2 to 3 do
    for row:=0 to 9 do
      XLSReadWriteII51.Sheets[2].AsFormula[col, row]:='A1+M1';
  for col:=5 to 10 do
    for row:=0 to 9 do
      XLSReadWriteII51.Sheets[2].AsFormula[col, row]:='A1+M1';
  XLSReadWriteII51.Sheets[2].AsInteger[ 0, 0]:=1;
  XLSReadWriteII51.Sheets[2].AsInteger[12, 0]:=2;
  XLSReadWriteII51.Sheets[2].Cell[ 0, 0].FillPatternForeColorRGB:=clYellow;
  XLSReadWriteII51.Sheets[2].Cell[12, 0].FillPatternForeColorRGB:=clYellow;

  XLSReadWriteII51.Write;
end;
Post Reply