Documentazione HotXLS

Metodo AddTable

Collega una tabella BIFF8 (Excel ListObject) a un intervallo di celle, restituendo il nuovo oggetto TXLSTable così che le proprietà aggiuntive (StyleName, flag di righe alternate, TotalsRowShown) possano essere regolate prima del salvataggio. La forma rispecchia TXLSXWorksheet.AddTable sul lato XLSX così che il codice indipendente dal formato possa chiamare la stessa firma. (Disponibile dalla v2.33.0)

Sintassi

function AddTable(const AName, ARange: WideString; AColumns: TStrings): TXLSTable;
AName Titolo, corpo e stile dell'icona dell'avviso per input non valido; SetError imposta tutti e tre i campi e abilita ShowErrorMessage
ARange Titolo e corpo del prompt di input mostrati quando si seleziona una cella con convalida; SetPrompt imposta entrambi i campi e abilita ShowInputMessage
AColumns Testo formula opzionale (senza = iniziale). Quando è impostato, SaveAs emette un elemento figlio insieme al valore della cella, e Open lo legge di nuovo

Note

La nuova tabella viene aggiunta alla raccolta Tables del foglio di lavoro. Il suo StyleName predefinito è 'TableStyleMedium2' e ShowRowStripes è True per impostazione predefinita, corrispondendo a ciò che producono Excel e il lato XLSX. L'id (1..N per foglio) viene assegnato al momento del salvataggio se non viene impostato

BIFF8 emette il gruppo di record FEATHEADR11 / FEAT11 / LIST12 solo su SaveAs(xlExcel97). I salvataggi BIFF5 non sono interessati (le Tabelle sono un concetto BIFF8+). Il record LIST12 memorizza StyleName e i flag di righe/colonne alternate usando il layout client per stile tabella MS-XLS. Dalla v2.33.2 i record AUTOFILTERINFO / AUTOFILTER a livello di foglio vengono soppressi quando una Tabella sullo stesso foglio copre interamente l'intervallo del filtro automatico, perché Excel incorpora il filtro automatico nell'oggetto Tabella stesso; v2.87.4 scrive anche i metadati AutoFilter a livello di tabella e campo in FEAT11

Esempio

Questo esempio scrive una tabella vendite a quattro colonne associata come Tabella in 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;

Vedere anche