Перечисляет загруженные ячейки классического листа XLS и вызывает пользовательский обратный вызов для каждой ячейки
Синтаксис
type
TXLSCellReadEvent = procedure(
Sender: TObject;
SheetIndex, Row, Col: Integer;
const Value: Variant;
const Formula: WideString;
var Cancel: Boolean) of object;
function ForEachCell(Callback: TXLSCellReadEvent): Integer;
Примечания
ForEachCell обходит только ячейки, существующие в загруженной модели листа. Он не сканирует каждую возможную строку и столбец листа
Ячейки посещаются в порядке строк. SheetIndex, Row и Col — координаты с отсчётом от 1. Value — текущее значение ячейки. Formula содержит текст формулы для ячеек с формулами и пуст для обычных ячеек со значениями
Установите Cancel в True в обратном вызове для досрочного прекращения сканирования. Возвращаемое значение — количество выполненных обратных вызовов
Пример
procedure TForm1.ReadCell(Sender: TObject; SheetIndex, Row, Col: Integer;
const Value: Variant; const Formula: WideString;
var Cancel: Boolean);
begin
Memo1.Lines.Add(Format('%d:%d = %s', [Row, Col, VarToStr(Value)]));
if Row >= 1000 then
Cancel := True;
end;
Visited := Workbook.Sheets[1].ForEachCell(ReadCell);
См. также