HotXLS 文件

WriteCells 方法

透過為每個儲存格值呼叫應用程式程式碼來填入傳統 XLS 工作表範圍

語法

type
  TXLSCellWriteEvent = procedure(
    Sender: TObject;
    SheetIndex, Row, Col: Integer;
    var Value: Variant;
    var Skip: Boolean;
    var Cancel: Boolean) of object;

function WriteCells(ARange: WideString; Callback: TXLSCellWriteEvent): Integer; overload;
function WriteCells(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSCellWriteEvent): Integer; overload;

備註

字串多載接受 A1 樣式範圍,例如 A1:C100。數值多載使用 1 起始的列和欄索引。當起始列或欄大於結束列或欄時,範圍會被正規化
儲存格以列優先順序請求。在回呼中設定 Value 以寫入目前儲存格。將 Skip 設為 True 可保持目前儲存格不變。將 Cancel 設為 True 可在目前回呼後停止。傳回值為已寫入的儲存格數量
此方法寫入已載入的工作表模型。它是以回呼為基礎的緊湊型寫入輔助程式,而非檔案串流儲存模式

範例

procedure TForm1.WriteCell(Sender: TObject; SheetIndex, Row, Col: Integer;
  var Value: Variant; var Skip: Boolean; var Cancel: Boolean);
begin
  if Col = 3 then
  begin
    Skip := True;
    Exit;
  end;

  Value := Format('R%dC%d', [Row, Col]);
  if Row >= 1000 then
    Cancel := True;
end;

Written := Workbook.Sheets[1].WriteCells('A1:D2000', WriteCell);

另請參閱