Documentație HotXLS

Metoda AddTable

Atașează un tabel BIFF8 (Excel ListObject) la un interval de celule, returnând noul obiect TXLSTable astfel încât proprietăți suplimentare (StyleName, indicatori pentru rânduri cu benzi, TotalsRowShown) să poată fi ajustate înainte de salvare. Forma este identică cu TXLSXWorksheet.AddTable pe partea XLSX, astfel încât codul indiferent de format poate apela aceeași semnătură. (Disponibil din v2.33.0.)

Sintaxă

function AddTable(const AName, ARange: WideString; AColumns: TStrings): TXLSTable;
AName WideString. Numele tabelului cu referință structurată afișat în Name Box din Excel, de exemplu SalesTable. Devine atât Name, cât și DisplayName pe obiectul returnat
ARange WideString. Intervalul de celule acoperit de Table în notație A1, de exemplu A1:D10. Primul rând al intervalului este tratat ca rând de antet
AColumns TStrings. Textul antetului pentru fiecare coloană. Trebuie să conțină exact atâtea intrări câte coloane are intervalul

Observații

Noul tabel este adăugat la colecția Tables a foii de lucru. StyleName implicit este 'TableStyleMedium2' și ShowRowStripes implicit este True, corespunzând ce produce Excel și partea XLSX. Id-ul (1..N per foaie) este atribuit la salvare dacă nu îl setați

BIFF8 emite grupul de înregistrări FEATHEADR11 / FEAT11 / LIST12 doar la SaveAs(xlExcel97). Salvările BIFF5 nu sunt afectate (Tabelele sunt un concept BIFF8+). Înregistrarea LIST12 stochează StyleName și indicatorii pentru rânduri/coloane cu benzi utilizând layout-ul tabel-stil client MS-XLS. Din v2.33.2 înregistrările AUTOFILTERINFO / AUTOFILTER la nivel de foaie sunt suprimate când un Tabel de pe aceeași foaie acoperă integral intervalul de filtrare automată; v2.87.4 scrie și metadatele AutoFilter la nivel de tabel și câmp în FEAT11

Exemplu

Acest exemplu scrie o regiune de vânzări cu patru coloane legată ca Tabel la 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;

Vezi și