توثيق 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 لتخطي الخلية وتركها فارغة
يكتب هذا الأسلوب في نموذج ورقة العمل المُحمَّل. إنه أداة مساعدة للكتابة القائمة على معاودة الاتصال المدمجة، وليس وضع حفظ لتدفق الملفات

مثال

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);

انظر أيضاً