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