HotXLS dokumentáció

AddTable metódus

BIFF8 táblát (Excel ListObject) csatol egy cellatartományhoz, és visszaadja az új TXLSTable objektumot, hogy mentés előtt további tulajdonságok (StyleName, sávos sor jelzők, TotalsRowShown) finomíthatók legyenek. Az alakja tükrözi a TXLSXWorksheet.AddTable megfelelőjét az XLSX oldalon, így a formátumfüggetlen kód azonos szintaxist hívhat. (Elérhető v2.33.0 óta.)

Szintaxis

function AddTable(const AName, ARange: WideString; AColumns: TStrings): TXLSTable;
AName WideString. A strukturált hivatkozású tábla neve, amely az Excel Name Box mezőjében látható, például 'SalesTable'. A visszaadott objektumon Name és DisplayName is lesz
ARange WideString. A Table által lefedett cellatartomány A1 jelöléssel, például 'A1:D10'. A tartomány első sora fejlécként kezelendő
AColumns TStrings. Oszloponkénti fejlécszöveg. Pontosan annyi bejegyzést kell tartalmaznia, amennyi a tartomány széles

Megjegyzések

Az új tábla hozzáadódik a munkalap Tables gyűjteményéhez. A StyleName alapértelmezése 'TableStyleMedium2', a ShowRowStripes alapértelmezése True, összhangban azzal, amit az Excel és az XLSX oldal produkál. Az azonosítót (1..N laponként) mentéskor rendeli hozzá a rendszer, ha nem előre állítja be

A BIFF8 csak SaveAs(xlExcel97) esetén bocsát ki FEATHEADR11 / FEAT11 / LIST12 rekordsort. A BIFF5 mentések nem érintettek (a táblák BIFF8+ fogalom). A LIST12 rekord tárolja a StyleName-et és a sávos sor/oszlop jelzőket az MS-XLS tábla-stílus ügyfél-elrendezés szerint. A v2.33.2-től a lap szintű AUTOFILTERINFO / AUTOFILTER rekordok elmaradnak, ha az azonos lapon lévő tábla teljes egészében lefedi az automatikus szűrő tartományát, mert az Excel a tábla objektumon belül ágyazza be az automatikus szűrőt; a v2.87.4 szintén írja a megfelelő tábla- és mező-szintű AutoFilter metaadatokat a FEAT11-be

Példa

Ez a példa táblázatként kötött négyoszlopos értékesítési régiót ír az A1:D10 cellákba

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;

Lásd még