เอกสาร HotXLS

เมธอด AddTable

แนบ BIFF8 Table (Excel ListObject) กับช่วงเซลล์ คืนค่าออบเจ็กต์ TXLSTable ใหม่เพื่อให้สามารถปรับคุณสมบัติเพิ่มเติม (StyleName, แฟล็กแถวสลับสี, TotalsRowShown) ได้ก่อนบันทึก รูปร่างนี้สะท้อน TXLSXWorksheet.AddTable ในฝั่ง XLSX เพื่อให้โค้ดที่ไม่ขึ้นกับรูปแบบสามารถเรียกลายเซ็นเดียวกันได้ (ใช้งานได้ตั้งแต่ v2.33.0)

ไวยากรณ์

function AddTable(const AName, ARange: WideString; AColumns: TStrings): TXLSTable;
AName WideString. structured-reference table name shown ใน Excel's Name Box, e.g.'SalesTable'. Becomes bothNameและDisplayNameบน returned object
ARange WideString. เซลล์ ช่วง Table covers ใน A1 notation, e.g.'A1:D10'. แรก แถว ของ ช่วง is treated as header แถว
AColumns TStrings. Header ข้อความ per คอลัมน์. Must contain exactly as many รายการ as ช่วง is wide

หมายเหตุ

ตารางใหม่จะถูกเพิ่มลงในคอลเลกชัน Tables ของ worksheet ค่าเริ่มต้นของ StyleName คือ 'TableStyleMedium2' และ ShowRowStripes เริ่มต้นเป็น True ซึ่งตรงกับที่ Excel และฝั่ง XLSX สร้าง id (1..N ต่อแผ่น) จะถูกกำหนดเมื่อบันทึกหากคุณไม่ได้กำหนด

BIFF8 ส่งกลุ่มระเบียน FEATHEADR11 / FEAT11 / LIST12 เฉพาะเมื่อ SaveAs(xlExcel97) การบันทึก BIFF5 จะไม่ได้รับผลกระทบ (Tables เป็นแนวคิด BIFF8+) ระเบียน LIST12 เก็บ StyleName และแฟล็กแถว/คอลัมน์สลับสีโดยใช้เลย์เอาต์ client ตาราง MS-XLS ตั้งแต่ v2.33.2 ระเบียน AUTOFILTERINFO / AUTOFILTER ระดับแผ่นจะถูกระงับเมื่อ Table บนแผ่นเดียวกันครอบคลุมช่วง autofilter ทั้งหมด เนื่องจาก Excel ฝัง autofilter ไว้ใน Table object เอง; v2.87.4 ยังเขียน metadata AutoFilter ระดับตารางและระดับเขตข้อมูลลงใน FEAT11 ด้วย

ตัวอย่าง

ตัวอย่างนี้เขียนพื้นที่การขายสี่คอลัมน์ที่ผูกเป็น Table ที่ A1:D10

var
  cols: TStringList;
begin
  cols := TStringList.Create;
  try
    cols.Add('Region');
    cols.Add('Product');
    cols.Add('Quarter');
    cols.Add('Revenue');
    Sheet.AddTable('SalesTable', 'A1:D10', cols);
  finally
    cols.Free;
  end;

ดูเพิ่มเติม