Usina BRAdvPL Guia
Entrar
← Todos os tópicos
CLASSEPublicado

FWMsExcelEx

FWMsExcelEx():New()

Gera planilhas XML compatíveis com Excel escrevendo os dados diretamente no arquivo e consumindo menos memória.

Geração de planilhasPlanilhasExcelXMLFramework
01 · VISÃO GERAL

Visão geral

A classe FWMsExcelEx cria arquivos XML compatíveis com o Microsoft Excel 2003 e versões posteriores, além de aplicativos alternativos capazes de interpretar o formato. Como a escrita ocorre diretamente no arquivo, ela é indicada para volumes maiores de dados. A montagem deve seguir a ordem planilha, tabela, colunas, linhas, ativação e gravação do XML.

02 · SINTAXE

Sintaxe

FWMsExcelEx():New()
03 · EXEMPLO PRÁTICO

Fluxo mínimo de criação

User Function ExExcelXML()
    Local oExcel := FWMsExcelEx():New()

    oExcel:AddWorkSheet("Clientes")
    oExcel:AddTable("Clientes", "Cadastro de clientes")
    oExcel:AddColumn("Clientes", "Cadastro de clientes", "Código", 1, 1, .F.)
    oExcel:AddColumn("Clientes", "Cadastro de clientes", "Nome", 1, 1, .F.)
    oExcel:AddRow("Clientes", "Cadastro de clientes", {"000001", "Cliente exemplo"})
    oExcel:Activate()
    oExcel:GetXMLFile("clientes.xml")
Return
Resultado esperado

Cria uma planilha, adiciona uma tabela com duas colunas e uma linha e grava o arquivo clientes.xml.

04 · EXEMPLO PRÁTICO

Formatação aplicada à próxima linha

oExcel:SetCelFont("Arial")
oExcel:SetCelSizeFont(10)
oExcel:SetCelBold(.T.)
oExcel:SetCelFrColor("#FFFFFF")
oExcel:SetCelBgColor("#003366")

oExcel:AddRow("Clientes", "Cadastro de clientes", ;
    {"000002", "Outro cliente"}, {1, 2})
Resultado esperado

O estilo configurado é aplicado às células indicadas no quarto argumento de AddRow(). Configure-o imediatamente antes da linha correspondente.

05 · EXEMPLO PRÁTICO

Alinhamento, altura e codificação

oExcel:SetUTF8Encode(.T.)
oExcel:SetTitleHAlign(2)
oExcel:SetHeaderHAlign(2)
oExcel:SetTitleVAlign(2)
oExcel:SetHeaderVAlign(2)
oExcel:SetLineVAlign(3)
oExcel:SetTitleHeight(24)
oExcel:SetHeadHeight(20)
oExcel:SetLineHeight(18)
Resultado esperado

Configura a codificação, os alinhamentos horizontal e vertical e as alturas das linhas de título, cabeçalho e dados.

06 · EXEMPLO PRÁTICO

Principais métodos por etapa

// Ciclo de vida
New()  // ClassName()  // Activate()  // DeActivate()

// Estrutura e dados
AddWorkSheet()  // AddTable()  // AddColumn()  // AddRow()
IsWorkSheet()   // GetXMLFile()

// Estilos gerais e específicos
SetFont()       // SetFontSize()   // SetBold()
SetItalic()     // SetUnderLine()  // SetFrGeneralColor()
SetBgGeneralColor()
SetTitleFont()  // SetHeaderFont() // SetLineFont()
Set2LineFont()  // SetCelFont()    // SetCelBold()
Resultado esperado

A classe separa o ciclo de vida, a estrutura da planilha, a inclusão dos dados e a configuração visual. As famílias Title, Header, Line, 2Line e Cel seguem padrões semelhantes.

BOAS PRÁTICAS
  • Use uma instância para construir o arquivo de maneira sequencial: AddWorkSheet(), AddTable(), AddColumn(), AddRow(), Activate() e GetXMLFile().
  • Cada worksheet aceita uma tabela segundo a documentação consultada.
  • Os métodos SetFont*, SetTitle*, SetHeader*, SetLine*, Set2Line* e SetCel* configuram fonte, tamanho, negrito, itálico, sublinhado e cores.
  • SetUTF8Encode() controla a conversão dos textos para UTF-8; por padrão, os conteúdos enviados são codificados.
  • Para novos projetos que precisem do formato XLSX nativo, compare esta classe com FWMsExcelXlsx e FwPrinterXlsx antes de decidir.
ARMADILHAS COMUNS
  • A escrita é progressiva: depois de iniciar outra planilha, não volte para escrever na anterior. A quebra da sequência pode gerar um arquivo inconsistente que não será aberto.
  • As configurações de estilo precisam ser definidas antes do AddRow() ao qual serão aplicadas.
  • Os códigos numéricos de AddColumn() representam alinhamento (1 esquerda, 2 centro, 3 direita) e formato (1 geral, 2 número, 3 monetário, 4 data e hora).
  • Confirme a disponibilidade de parâmetros e métodos conforme a versão da LIB; lPrintHead, por exemplo, é documentado a partir da LIB 20220613.
  • A documentação histórica apresenta algumas descrições e grafias inconsistentes; as assinaturas devem ser validadas no ambiente utilizado.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. FWMsExcelEx — classe para geração de planilhas XML. TDN.
  2. TOTVS. Geração de planilhas — índice de classes relacionadas. TDN.
Situação
Publicado
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR