A classe FWMsExcelEx utiliza escrita diretamente no arquivo em tempo de criação do XML, não armazenando os valores em memória para depois escrever o arquivo. Nesse método de criação o consumo de memória é menor, porém existe dependência entre os métodos utilizados, já que a escrita é feita a partir da execução dos métodos, sendo indicada essa classe na geração de maiores quantidades de dados.
User Function TESTE()
Local oExcel := FWMsExcelEx():New()
oExcel:AddworkSheet("Teste - 1")
oExcel:AddTable ("Teste - 1","Titulo de teste 1")
oExcel:AddColumn("Teste - 1","Titulo de teste 1","Col1",1,1)
oExcel:AddColumn("Teste - 1","Titulo de teste 1","Col2",2,2)
oExcel:AddColumn("Teste - 1","Titulo de teste 1","Col3",3,3)
oExcel:AddColumn("Teste - 1","Titulo de teste 1","Col4",1,1)
oExcel:SetCelBold(.T.)
oExcel:SetCelFont('Arial')
oExcel:SetCelItalic(.T.)
oExcel:SetCelUnderLine(.T.)
oExcel:SetCelSizeFont(10)
oExcel:AddRow("Teste - 1","Titulo de teste 1",{11,12,13,14},{1,3})
oExcel:SetCelBold(.T.)
oExcel:SetCelFont('Arial')
oExcel:SetCelItalic(.T.)
oExcel:SetCelUnderLine(.T.)
oExcel:SetCelSizeFont(15)
oExcel:SetCelFrColor("#FFFFFF")
oExcel:SetCelBgColor("#000666")
oExcel:AddRow("Teste - 1","Titulo de teste 1",{21,22,23,24},{1})
oExcel:SetCelBold(.T.)
oExcel:SetCelFont('Courier New')
oExcel:SetCelItalic(.F.)
oExcel:SetCelUnderLine(.T.)
oExcel:SetCelSizeFont(10)
oExcel:SetCelFrColor("#FFFFFF")
oExcel:SetCelBgColor("#000333")
oExcel:AddRow("Teste - 1","Titulo de teste 1",{31,32,33,34},{2,4})
oExcel:SetCelBold(.T.)
oExcel:SetCelFont('Line Draw')
oExcel:SetCelItalic(.F.)
oExcel:SetCelUnderLine(.F.)
oExcel:SetCelSizeFont(12)
oExcel:SetCelFrColor("#FFFFFF")
oExcel:SetCelBgColor("#D7BCFB")
oExcel:AddRow("Teste - 1","Titulo de teste 1",{41,42,43,44},{3})
oExcel:AddworkSheet("Teste - 2")
oExcel:AddTable("Teste - 2","Titulo de teste 1")
oExcel:AddColumn("Teste - 2","Titulo de teste 1","Col1",1)
oExcel:AddColumn("Teste - 2","Titulo de teste 1","Col2",2)
oExcel:AddColumn("Teste - 2","Titulo de teste 1","Col3",3)
oExcel:AddColumn("Teste - 2","Titulo de teste 1","Col4",1)
oExcel:AddRow("Teste - 2","Titulo de teste 1",{11,12,13,stod("20121212")})
oExcel:AddRow("Teste - 2","Titulo de teste 1",{21,22,23,stod("20121212")})
oExcel:AddRow("Teste - 2","Titulo de teste 1",{31,32,33,stod("20121212")})
oExcel:AddRow("Teste - 2","Titulo de teste 1",{41,42,43,stod("20121212")})
oExcel:AddRow("Teste - 2","Titulo de teste 1",{51,52,53,stod("20121212")})
oExcel:Activate()
oExcel:GetXMLFile("TESTE.xml")
Return
3 Comentários
Jose Augusto Ribeiro
No metodo addColumn na documentação esta repetido o nome da planilha, deveria ser nome da WorkSheet e depois nome da planilha
Guilherme Spadaccia Leme
Obrigado pela observação José.
A documentação já foi corrigida.
Mayra Lizbeth Camargo Mata_
Existe algún método para hacer merge entre una o más celdas? Cómo podría tener más de una tabla en un mismo worksheet?