奥非域

XLSReadWriteII5使用示例

之前一直是使用XLSReadWriteII4,今天更新到XLSReadWriteII5,测试了一下,发现一些操作变化比较大,现将XLSReadWriteII5的使用示例写一下,以下是代码和生成的excel表格的效果:

procedure TForm1.Button1Click(Sender: TObject);
var
  i, n: Integer;
  XLS: TXLSReadWriteII5; // 引用XLSReadWriteII5, Xc12DataStyleSheet5, ShellAPI
begin
  XLS := TXLSReadWriteII5.Create(nil);
  try
    XLS.Clear;
    XLS.FileName := ExtractFilePath(paramstr(0)) + 'temp.xls';
    for i := 0 to 9 do
      XLS.Sheets[0].AsString[i, 0] := '标题' + IntToStr(i + 1);
    for i := 0 to 9 do
      for n := 1 to 19 do
        XLS.Sheets[0].AsString[i, n] := IntToStr(i + 1) + ':' + IntToStr(n);

    for i := 0 to 9 do // XLS.Sheets[0].LastCol do // 从第一列到最后一列
    begin
      for n := 0 to 19 do // 从第一行到最后一行
      begin
        XLS.Sheets[0].Range.Items[i, n, i, n].BorderOutlineStyle := cbsThin;
        XLS.Sheets[0].Range.Items[i, n, i, n].BorderOutlineColor := 0; // 黑色#0
        if n = 0 then
        begin
          XLS.Sheets[0].Cell[i, n].CellColorRGB := 16744448; // 橘黄#FF8000
          XLS.Sheets[0].Cell[i, n].FontColor := 16777215; // 白色#FFFFFF
        end
        else
          XLS.Sheets[0].Cell[i, n].CellColorRGB := 16777165; // 杏仁灰#FFFFCD
      end;
      XLS.Sheets[0].AutoWidthCol(i); // 每列为自动宽度
    end;
    XLS.Write;
    ShellExecute(0, 'Open', PChar(ExtractFilePath(paramstr(0)) + 'temp.xls')
      , nil, nil, SW_SHOW);
  finally
    XLS.Free;
  end;
end;


Delphi