Documentação do HotXLS

Método AddTable

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;
ANameWideString. 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
ARangeWideString. 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
AColumnsTStrings. 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