{"id":2053,"date":"2026-08-07T01:05:05","date_gmt":"2026-08-07T04:05:05","guid":{"rendered":"https:\/\/code4delphi.com.br\/blog\/?p=2053"},"modified":"2026-08-07T01:22:53","modified_gmt":"2026-08-07T04:22:53","slug":"excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos","status":"publish","type":"post","link":"https:\/\/code4delphi.com.br\/blog\/excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos\/","title":{"rendered":"Excel no Delphi com o TMS FlexCel: cria\u00e7\u00e3o e manipula\u00e7\u00e3o de arquivos"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Criar planilhas do Excel \u00e9 um recurso bastante comum em sistemas comerciais, principalmente para exportar relat\u00f3rios, vendas, movimenta\u00e7\u00f5es financeiras e outras informa\u00e7\u00f5es do banco de dados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Com o <strong>TMS FlexCel<\/strong>, podemos criar, ler e modificar arquivos do Excel diretamente em uma aplica\u00e7\u00e3o Delphi. Ele trabalha com os formatos <strong>XLS<\/strong> e <strong>XLSX<\/strong> e tamb\u00e9m permite exportar o conte\u00fado das planilhas para <strong>PDF, HTML, SVG e imagens<\/strong>. A gera\u00e7\u00e3o de PDF \u00e9 realizada de forma nativa, sem depender do Microsoft Excel ou do Adobe Acrobat instalados no computador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neste exemplo, vamos criar uma planilha simples, adicionar textos, n\u00fameros e uma f\u00f3rmula e salvar o resultado no formato XLSX.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"432\" src=\"https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/flexcel-delphi-768x432-1.png\" alt=\"\" class=\"wp-image-2073\" srcset=\"https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/flexcel-delphi-768x432-1.png 768w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/flexcel-delphi-768x432-1-300x169.png 300w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/flexcel-delphi-768x432-1-520x293.png 520w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/flexcel-delphi-768x432-1-920x518.png 920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">Sum\u00e1rio<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabela de conte\u00fado\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/code4delphi.com.br\/blog\/excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos\/#Units_necessarias\" >Units necess\u00e1rias<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/code4delphi.com.br\/blog\/excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos\/#Criando_o_arquivo_Excel\" >Criando o arquivo Excel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/code4delphi.com.br\/blog\/excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos\/#Entendendo_o_exemplo\" >Entendendo o exemplo<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/code4delphi.com.br\/blog\/excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos\/#Descobrindo_o_codigo_com_o_APIMate\" >Descobrindo o c\u00f3digo com o APIMate<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/code4delphi.com.br\/blog\/excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos\/#Conclusao\" >Conclus\u00e3o<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/code4delphi.com.br\/blog\/excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos\/#%F0%9F%8F%B7%EF%B8%8F_Cupom_de_desconto\" >\ud83c\udff7\ufe0f Cupom de desconto<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/code4delphi.com.br\/blog\/excel-no-delphi-com-o-tms-flexcel-criacao-e-manipulacao-de-arquivos\/#Links_uteis\" >Links \u00fateis<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Units_necessarias\"><\/span>Units necess\u00e1rias<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Em uma aplica\u00e7\u00e3o VCL, adicione as seguintes units ao uses:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#f6f6f4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>uses\n  System.IOUtils,\n  FlexCel.VCLSupport,\n  FlexCel.Core,\n  FlexCel.XlsAdapter;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">uses<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  System.IOUtils,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  FlexCel.VCLSupport,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  FlexCel.Core,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  FlexCel.XlsAdapter;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A unit <strong>FlexCel.VCLSupport<\/strong> configura o FlexCel para aplica\u00e7\u00f5es VCL. Em um projeto <strong>FireMonkey<\/strong>, utilize <strong>FlexCel.FMXSupport<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Criando_o_arquivo_Excel\"><\/span>Criando o arquivo Excel<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O exemplo abaixo cria um arquivo do Excel com quatro c\u00e9lulas preenchidas:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#f6f6f4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>procedure CriarArquivoExcel;\nvar\n  LXls: TXlsFile;\nbegin\n  LXls := TXlsFile.Create(1, TExcelFileFormat.v2019, True);\n  try\n    \/\/ Insere um texto na c\u00e9lula A1\n    LXls.SetCellValue(1, 1, 'Ol\u00e1, FlexCel!');\n\n    \/\/ Insere um n\u00famero inteiro na c\u00e9lula A2\n    LXls.SetCellValue(2, 1, 2);\n\n    \/\/ Insere um n\u00famero decimal na c\u00e9lula A3\n    LXls.SetCellValue(3, 1, 10.5);\n\n    \/\/ Insere uma f\u00f3rmula na c\u00e9lula A4\n    LXls.SetCellValue(4, 1, TFormula.Create('=SUM(A2:A3)'));\n\n    \/\/ Salva o arquivo na pasta Documentos\n    LXls.Save(TPath.Combine(TPath.GetDocumentsPath, 'exemplo-flexcel.xlsx'));\n  finally\n    LXls.Free;\n  end;\nend;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">procedure<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">CriarArquivoExcel<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">var<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  LXls: TXlsFile;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">begin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  LXls := TXlsFile.Create(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, TExcelFileFormat.v2019, <\/span><span style=\"color: #BF9EEE\">True<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #F286C4\">try<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Insere um texto na c\u00e9lula A1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LXls.SetCellValue(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Ol\u00e1, FlexCel!<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Insere um n\u00famero inteiro na c\u00e9lula A2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LXls.SetCellValue(<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Insere um n\u00famero decimal na c\u00e9lula A3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LXls.SetCellValue(<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">10.5<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Insere uma f\u00f3rmula na c\u00e9lula A4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LXls.SetCellValue(<\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, TFormula.Create(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">=SUM(A2:A3)<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Salva o arquivo na pasta Documentos<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LXls.Save(TPath.Combine(TPath.GetDocumentsPath, <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">exemplo-flexcel.xlsx<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">));<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #F286C4\">finally<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LXls.Free;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #F286C4\">end<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">end<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ap\u00f3s executar o c\u00f3digo, o arquivo <strong>exemplo-flexcel.xlsx<\/strong> ser\u00e1 criado na pasta de documentos do usu\u00e1rio. Veja como fica o arquivo gerado:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"368\" height=\"156\" src=\"https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/image.png\" alt=\"\" class=\"wp-image-2062\" srcset=\"https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/image.png 368w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/image-300x127.png 300w\" sizes=\"auto, (max-width: 368px) 100vw, 368px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Entendendo_o_exemplo\"><\/span>Entendendo o exemplo<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A classe <strong>TXlsFile<\/strong> \u00e9 o principal mecanismo do FlexCel para criar e manipular arquivos XLS e XLSX.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#f6f6f4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>LXls.SetCellValue(Linha, Coluna, Valor);<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">LXls.SetCellValue(Linha, Coluna, Valor);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Os \u00edndices come\u00e7am em <strong>1<\/strong>, seguindo o padr\u00e3o do Excel. Por isso, a linha <strong>1<\/strong> e a coluna 1 representam a c\u00e9lula <strong>A1<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para adicionar uma f\u00f3rmula, utilizamos a classe <strong>TFormula<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#f6f6f4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>TFormula.Create('=SUM(A2:A3)')<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">TFormula.Create(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">=SUM(A2:A3)<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">As f\u00f3rmulas devem utilizar os nomes das fun\u00e7\u00f5es em ingl\u00eas, independentemente do idioma do Excel. Nesse exemplo, a c\u00e9lula A4 receber\u00e1 a soma dos valores encontrados em A2 e A3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O FlexCel identifica o formato do arquivo pela extens\u00e3o utilizada no momento de salvar. Como usamos <strong>.xlsx<\/strong>, o resultado ser\u00e1 uma planilha nesse formato.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Descobrindo_o_codigo_com_o_APIMate\"><\/span>Descobrindo o c\u00f3digo com o APIMate<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O Excel possui muitos recursos de formata\u00e7\u00e3o e pode ser dif\u00edcil descobrir qual m\u00e9todo utilizar para reproduzir determinado resultado por c\u00f3digo. Para facilitar esse trabalho, o FlexCel inclui uma ferramenta incr\u00edvel chamada <strong>APIMate<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O APIMate \u00e9 instalado junto com o FlexCel e pode ser localizado pelo menu Iniciar do Windows. O c\u00f3digo-fonte da ferramenta tamb\u00e9m acompanha o produto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O funcionamento \u00e9 simples:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Crie no Excel uma planilha contendo os recursos desejados, como formulas, c\u00e9lulas coloridas, bordas, filtros ou configura\u00e7\u00f5es de impress\u00e3o.<\/li>\n\n\n\n<li>Salve o arquivo e abra-o no APIMate.<\/li>\n\n\n\n<li>Selecione Delphi como linguagem.<\/li>\n\n\n\n<li>O APIMate mostrar\u00e1 o c\u00f3digo necess\u00e1rio para recriar aquela planilha utilizando o FlexCel.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"679\" height=\"615\" src=\"https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/image-1.png\" alt=\"\" class=\"wp-image-2067\" style=\"width:575px;height:auto\" srcset=\"https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/image-1.png 679w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2026\/08\/image-1-300x272.png 300w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pronto! Basta copiar o c\u00f3digo gerado pelo APIMate e col\u00e1-lo em sua aplica\u00e7\u00e3o. Dessa forma, conseguimos criar, de maneira r\u00e1pida e f\u00e1cil, qualquer tipo de planilha.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tamb\u00e9m \u00e9 poss\u00edvel manter o arquivo aberto no Excel e no APIMate. Depois de fazer uma altera\u00e7\u00e3o e salvar a planilha, basta utilizar a op\u00e7\u00e3o <strong>Refresh<\/strong> para atualizar o c\u00f3digo exibido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusao\"><\/span>Conclus\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Com poucas linhas de c\u00f3digo, conseguimos criar um arquivo Excel no Delphi, preencher c\u00e9lulas com diferentes tipos de dados e adicionar f\u00f3rmulas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse \u00e9 apenas um exemplo inicial. O TMS FlexCel tamb\u00e9m permite trabalhar com formata\u00e7\u00e3o, imagens, gr\u00e1ficos, relat\u00f3rios baseados em templates e exporta\u00e7\u00e3o para formatos como PDF, HTML e SVG. Quando surgir uma d\u00favida sobre como reproduzir algum recurso do Excel por c\u00f3digo, o APIMate pode ajudar a encontrar a implementa\u00e7\u00e3o necess\u00e1ria.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%8F%B7%EF%B8%8F_Cupom_de_desconto\"><\/span>\ud83c\udff7\ufe0f Cupom de desconto<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use nosso cupom exclusivo e tenha 30% de desconto nos produtos da TMS Software: 2026Code4Delphi30<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Links_uteis\"><\/span>Links \u00fateis<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.tmssoftware.com\/site\/flexcel.asp\" target=\"_blank\" rel=\"noreferrer noopener\">Site oficial do TMS FlexCel for VCL &amp; FMX<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/doc.tmssoftware.com\/flexcel\/vcl\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">Documenta\u00e7\u00e3o oficial<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Criar planilhas do Excel \u00e9 um recurso bastante comum em sistemas comerciais, principalmente para exportar relat\u00f3rios,&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"footnotes":""},"categories":[1,98],"tags":[173,171,172],"class_list":["post-2053","post","type-post","status-publish","format-standard","hentry","category-geral","category-tms","tag-delphi-excel","tag-excel-delphi","tag-tms-flexcel"],"_links":{"self":[{"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/posts\/2053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2053"}],"version-history":[{"count":20,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/posts\/2053\/revisions"}],"predecessor-version":[{"id":2076,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/posts\/2053\/revisions\/2076"}],"wp:attachment":[{"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}