Docs HotXLS

AddTable-method

Attaches a BIFF8 Table (Excel ListObject) to a cell range, returning the new TXLSTable object so additional properties (StyleName, banded-row flags, TotalsRowShown) can be tuned before save. The shape mirrors TXLSXWorksheet.AddTable côté XLSX, de sorte qu'un code indépendant du format puisse appeler la même signature. (Disponible depuis la v2.33.0)

Syntaxe

function AddTable(const AName, ARange: WideString; AColumns: TStrings): TXLSTable;
AName WideString. The structured-reference table name shown in Excel's Name Box, e.g. 'SalesTable'. Becomes both Name and DisplayName on the returned object
ARange WideString. The cell range the Table covers in A1 notation, e.g. 'A1:D10'. The first row of the range is treated as the header row
AColumns TStrings. Texte d'en-tête par colonne. Doit contenir exactement autant d'entrées que la plage est large

Remarques

The new table is added to the worksheet's Tables collection. Its StyleName defaults to 'TableStyleMedium2' and ShowRowStripes vaut True par défaut, conformément à ce que produisent Excel et le côté XLSX. L'id (1..N par feuille) est assigné à la sauvegarde si vous ne le définissez pas

BIFF8 emits the FEATHEADR11 / FEAT11 / LIST12 record group only on SaveAs(xlExcel97). Les sauvegardes BIFF5 ne sont pas affectées (les tableaux sont un concept BIFF8+). L'enregistrement LIST12 stocke StyleName et les indicateurs de lignes/colonnes à bandes en utilisant la disposition client de style de tableau MS-XLS. À partir de la v2.33.2, le AUTOFILTERINFO / AUTOFILTER sont supprimés quand un tableau sur la même feuille couvre entièrement la plage de filtre automatique, car Excel incorpore le filtre automatique à l'intérieur de l'objet tableau lui-même ; la v2.87.4 écrit aussi les métadonnées AutoFilter correspondantes au niveau du tableau et du champ dans FEAT11

Exemple

This example writes a four-column sales region bound as a Table at 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;

Voir aussi