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