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