Anexa uma Tabela BIFF8 (ListObject do Excel) a um intervalo de células, retornando o novo objeto
TXLSTable para que propriedades adicionais (
StyleName, indicadores de linhas com faixas,
TotalsRowShown) possam ser ajustadas antes do salvamento. A assinatura espelha
TXLSXWorksheet.AddTable no lado XLSX para que código agnóstico de formato possa chamar a mesma assinatura. (Disponível desde v2.33.0.)
Sintaxe
function AddTable(
const AName, ARange: WideString;
AColumns: TStrings):
TXLSTable;
| AName | WideString. O nome da tabela com referência estruturada mostrado na Name Box do Excel, por exemplo 'SalesTable'. Torna-se tanto Name quanto DisplayName no objeto retornado 'SalesTable'. Becomes both Name and DisplayName on the returned object |
| ARange | WideString. O intervalo de células que a Table cobre, em notação A1, por exemplo 'A1:D10'WideString. O intervalo de células que a Table cobre em notação A1, por exemplo 'A1:D10'. A primeira linha do intervalo é tratada como a linha de cabeçalho |
| AColumns | TStrings. Texto de cabeçalho por coluna. Deve conter exatamente tantas entradas quanto a largura do intervalo |
Observações
A nova tabela é adicionada à coleção
Tables da planilha. Seu
StyleName tem como padrão
'TableStyleMedium2' e
ShowRowStripes tem como padrão True, correspondendo ao que o Excel e o lado XLSX produzem. O id (1..N por planilha) é atribuído no momento do salvamento se você não o definir
BIFF8 emite o grupo de registros FEATHEADR11 / FEAT11 / LIST12 apenas em SaveAs(xlExcel97). Os salvamentos BIFF5 não são afetados (Tabelas são um conceito BIFF8+). O registro LIST12 armazena StyleName e os indicadores de faixas de linha/coluna usando o layout do cliente de estilo de tabela MS-XLS. A partir da v2.33.2, os registros AUTOFILTERINFO / AUTOFILTER de nível de planilha são suprimidos quando uma Tabela na mesma planilha cobre totalmente o intervalo de filtro automático, pois o Excel incorpora o filtro automático dentro do próprio objeto Tabela; a v2.87.4 também grava os metadados de AutoFilter de nível de tabela e campo no FEAT11
Exemplo
Este exemplo grava uma região de vendas de quatro colunas vinculada como uma Tabela em 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;
Veja também