FWMsExcelEx
FWMsExcelEx():New()Genera hojas de cálculo XML compatibles con Excel escribiendo directamente en el archivo y consumiendo menos memoria.
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.
Sintaxis
FWMsExcelEx():New()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")
ReturnCrea una hoja, agrega una tabla de dos columnas y una fila y escribe clientes.xml.
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})El estilo configurado se aplica a las celdas indicadas en el cuarto argumento de AddRow(). Configúralo justo antes de la fila correspondiente.
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)Configura la codificación, las alineaciones horizontal y vertical y las alturas del título, encabezado y datos.
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()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.
- 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.
- 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.
