Usina BRGuía AdvPL
Ingresar
← Todos los temas
CLASEPublicado

FWMsExcelEx

FWMsExcelEx():New()

Genera hojas de cálculo XML compatibles con Excel escribiendo directamente en el archivo y consumiendo menos memoria.

Hojas de cálculoExcelXMLFramework
01 · DESCRIPCIÓN GENERAL

Descripción general

FWMsExcelEx crea archivos XML compatibles con Microsoft Excel 2003 y versiones posteriores, además de aplicaciones alternativas que interpretan el formato. Como escribe directamente en el archivo, es adecuada para grandes volúmenes de datos. La construcción debe seguir el orden hoja, tabla, columnas, filas, activación y escritura del XML.

02 · SINTAXIS

Sintaxis

FWMsExcelEx():New()
03 · EJEMPLO PRÁCTICO

Flujo mínimo de creación

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

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

Crea una hoja, agrega una tabla de dos columnas y una fila y escribe clientes.xml.

04 · EJEMPLO PRÁCTICO

Formato aplicado a la siguiente fila

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

El estilo configurado se aplica a las celdas indicadas en el cuarto argumento de AddRow(). Configúralo justo antes de la fila correspondiente.

05 · EJEMPLO PRÁCTICO

Alineación, altura y codificación

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 la codificación, las alineaciones horizontal y vertical y las alturas del título, encabezado y datos.

06 · EJEMPLO PRÁCTICO

Métodos principales 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

La clase separa el ciclo de vida, la estructura, la inserción de datos y la configuración visual. Las familias Title, Header, Line, 2Line y Cel siguen patrones similares.

BUENAS PRÁCTICAS
  • Utiliza una instancia para construir el archivo secuencialmente: AddWorkSheet(), AddTable(), AddColumn(), AddRow(), Activate() y GetXMLFile().
  • Según la documentación consultada, cada worksheet acepta una tabla.
  • Las familias SetFont*, SetTitle*, SetHeader*, SetLine*, Set2Line* y SetCel* configuran fuentes, tamaños, negrita, cursiva, subrayado y colores.
  • SetUTF8Encode() controla la conversión a UTF-8; los contenidos se codifican de forma predeterminada.
  • Para proyectos nuevos que necesiten XLSX nativo, compara esta clase con FWMsExcelXlsx y FwPrinterXlsx.
ERRORES COMUNES
  • La escritura solo avanza: después de iniciar otra hoja no vuelvas a la anterior. Romper la secuencia puede generar un archivo inválido.
  • Los estilos deben definirse antes de la llamada AddRow() a la que se aplican.
  • Los códigos de AddColumn() representan alineación (1 izquierda, 2 centro, 3 derecha) y formato (1 general, 2 número, 3 moneda, 4 fecha y hora).
  • Comprueba la disponibilidad según la versión de LIB; lPrintHead está documentado desde LIB 20220613.
  • La documentación histórica contiene algunas descripciones y grafías inconsistentes; valida las firmas en tu entorno.

Contenido relacionado

REFERENCIAS
  1. TOTVS. FWMsExcelEx — clase para generar hojas de cálculo XML. TDN.
  2. TOTVS. Generación de hojas de cálculo — índice de clases relacionadas. TDN.
Estado
Publicado
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR