Documentação do HotXLS

Método AddTable

Associa uma Tabela BIFF8 (ListObject do Excel) a um intervalo de células, devolvendo o novo objecto TXLSTable para que propriedades adicionais (StyleName, opções de linhas alternadas, TotalsRowShown) possam ser ajustadas antes de guardar. (Disponível desde v2.33.0.) TXLSXWorksheet.AddTable no lado XLSX, para que código independente do formato possa chamar a mesma assinatura. (Disponível desde a v2.33.0.)

Sintaxe

function AddTable(const AName, ARange: WideString; AColumns: TStrings): TXLSTable;
ANameWideString. O nome de tabela de referência estruturada mostrado na Name Box do Excel, por exemplo, 'SalesTable'. Torna-se Name e DisplayName no objeto devolvido '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 coberto pela Table em notação A1, por exemplo, 'A1:D10'. A primeira linha do intervalo é tratada como linha de cabeçalho
AColumnsTStrings. Texto do cabeçalho por coluna. Tem de conter exatamente tantas entradas quanto a largura do intervalo

Observações

A nova tabela é adicionada à colecção Tables da folha de cálculo. O StyleName assume como predefinição 'TableStyleMedium2' e ShowRowStripes assume por predefinição True, correspondendo ao que o Excel e o lado XLSX produzem. O id (1..N por folha) é atribuído no momento de guardar, caso não seja definido

O BIFF8 emite o grupo de registos FEATHEADR11 / FEAT11 / LIST12 apenas em SaveAs(xlExcel97). As gravações em BIFF5 não são afetadas (Tables são um conceito de BIFF8+). O registo LIST12 guarda StyleName e os sinalizadores de linhas/colunas com bandas usando o esquema de cliente de estilo de tabela do MS-XLS. A partir da v2.33.2, o AUTOFILTERINFO O BIFF8 emite o grupo de registos FEATHEADR11 / FEAT11 / LIST12 apenas em AUTOFILTER . As guardas em BIFF5 não são afectadas (as Tabelas são um conceito BIFF8+)

Exemplo

Este exemplo escreve uma região de vendas de quatro colunas vinculada como 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;

Ver também