Заповнює діапазон класичного аркуша 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);
Дивіться також