Excel no Delphi com o TMS FlexCel: criação e manipulação de arquivos

Criar planilhas do Excel é um recurso bastante comum em sistemas comerciais, principalmente para exportar relatórios, vendas, movimentações financeiras e outras informações do banco de dados.

Com o TMS FlexCel, podemos criar, ler e modificar arquivos do Excel diretamente em uma aplicação Delphi. Ele trabalha com os formatos XLS e XLSX e também permite exportar o conteúdo das planilhas para PDF, HTML, SVG e imagens. A geração de PDF é realizada de forma nativa, sem depender do Microsoft Excel ou do Adobe Acrobat instalados no computador.

Neste exemplo, vamos criar uma planilha simples, adicionar textos, números e uma fórmula e salvar o resultado no formato XLSX.

Units necessárias

Em uma aplicação VCL, adicione as seguintes units ao uses:

uses
  System.IOUtils,
  FlexCel.VCLSupport,
  FlexCel.Core,
  FlexCel.XlsAdapter;

A unit FlexCel.VCLSupport configura o FlexCel para aplicações VCL. Em um projeto FireMonkey, utilize FlexCel.FMXSupport.

Criando o arquivo Excel

O exemplo abaixo cria um arquivo do Excel com quatro células preenchidas:

procedure CriarArquivoExcel;
var
  LXls: TXlsFile;
begin
  LXls := TXlsFile.Create(1, TExcelFileFormat.v2019, True);
  try
    // Insere um texto na célula A1
    LXls.SetCellValue(1, 1, 'Olá, FlexCel!');

    // Insere um número inteiro na célula A2
    LXls.SetCellValue(2, 1, 2);

    // Insere um número decimal na célula A3
    LXls.SetCellValue(3, 1, 10.5);

    // Insere uma fórmula na célula A4
    LXls.SetCellValue(4, 1, TFormula.Create('=SUM(A2:A3)'));

    // Salva o arquivo na pasta Documentos
    LXls.Save(TPath.Combine(TPath.GetDocumentsPath, 'exemplo-flexcel.xlsx'));
  finally
    LXls.Free;
  end;
end;

Após executar o código, o arquivo exemplo-flexcel.xlsx será criado na pasta de documentos do usuário. Veja como fica o arquivo gerado:

Entendendo o exemplo

A classe TXlsFile é o principal mecanismo do FlexCel para criar e manipular arquivos XLS e XLSX.

LXls.SetCellValue(Linha, Coluna, Valor);

Os índices começam em 1, seguindo o padrão do Excel. Por isso, a linha 1 e a coluna 1 representam a célula A1.

Para adicionar uma fórmula, utilizamos a classe TFormula:

TFormula.Create('=SUM(A2:A3)')

As fórmulas devem utilizar os nomes das funções em inglês, independentemente do idioma do Excel. Nesse exemplo, a célula A4 receberá a soma dos valores encontrados em A2 e A3.

O FlexCel identifica o formato do arquivo pela extensão utilizada no momento de salvar. Como usamos .xlsx, o resultado será uma planilha nesse formato.

Descobrindo o código com o APIMate

O Excel possui muitos recursos de formatação e pode ser difícil descobrir qual método utilizar para reproduzir determinado resultado por código. Para facilitar esse trabalho, o FlexCel inclui uma ferramenta incrível chamada APIMate.

O APIMate é instalado junto com o FlexCel e pode ser localizado pelo menu Iniciar do Windows. O código-fonte da ferramenta também acompanha o produto.

O funcionamento é simples:

  1. Crie no Excel uma planilha contendo os recursos desejados, como formulas, células coloridas, bordas, filtros ou configurações de impressão.
  2. Salve o arquivo e abra-o no APIMate.
  3. Selecione Delphi como linguagem.
  4. O APIMate mostrará o código necessário para recriar aquela planilha utilizando o FlexCel.

Pronto! Basta copiar o código gerado pelo APIMate e colá-lo em sua aplicação. Dessa forma, conseguimos criar, de maneira rápida e fácil, qualquer tipo de planilha.

Também é possível manter o arquivo aberto no Excel e no APIMate. Depois de fazer uma alteração e salvar a planilha, basta utilizar a opção Refresh para atualizar o código exibido.

Conclusão

Com poucas linhas de código, conseguimos criar um arquivo Excel no Delphi, preencher células com diferentes tipos de dados e adicionar fórmulas.

Esse é apenas um exemplo inicial. O TMS FlexCel também permite trabalhar com formatação, imagens, gráficos, relatórios baseados em templates e exportação para formatos como PDF, HTML e SVG. Quando surgir uma dúvida sobre como reproduzir algum recurso do Excel por código, o APIMate pode ajudar a encontrar a implementação necessária.

🏷️ Cupom de desconto

Use nosso cupom exclusivo e tenha 30% de desconto nos produtos da TMS Software: 2026Code4Delphi30

Links úteis