Classe: FWMsExcelEx



FWMsExcelEx

Descrição
Fornece métodos para criação de arquivo XML compatível com as versões do MS Excel 2003, superiores e alternativos. Fornece métodos para a criação de planilhas em formato de tabela e fornece também métodos para a configuração de cores e fonte.

Observação
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.

Exemplo
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


New

Sintaxe
FWMsExcelEx():New()-> NIL

Descrição
Método construtor da classe


ClassName

Sintaxe
FWMsExcelEx():ClassName()-> NIL

Descrição
Fornece o nome da classe


Activate

Sintaxe
FWMsExcelEx():Activate()-> NIL

Descrição
Habilita o uso da classe, indicando que esta configurada e pronto para uso


DeActivate

Sintaxe
FWMsExcelEx():DeActivate()-> NIL

Descrição
Desabilita o uso da classe


AddWorkSheet

Sintaxe
FWMsExcelEx():AddWorkSheet(< cWorkSheet >)-> NIL

Descrição
Adiciona uma Worksheet ( Planilha )

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cWorkSheetCaracteresNome da planilha que será adicionada


X


 


AddTable

Sintaxe
FWMsExcelEx():AddTable(< cWorkSheet >, < cTable >, [lPrintHead])-> NIL

Descrição
Adiciona uma tabela na Worksheet. Uma WorkSheet pode ter apenas uma tabela

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cWorkSheetCaracteresNome da planilha
X

cTableCaracteresTitulo da tabela que será adicionada
X

lPrintHeadLogicoDetermina se imprime ou não o cabeçalho da tabela na primeira linha da tabela.
(disponível a parti da lib 20220613)
.T.


 


AddColumn

Sintaxe
FWMsExcelEx():AddColumn(< cWorkSheet >, < cTable >, < cColumn >, < nAlign >, < nFormat >, < lTotal >)-> NIL

Descrição
Adiciona uma coluna a tabela de uma Worksheet.

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cWorkSheetCaracteresNome da planilha
X

cTableCaracteresNome da tabela
X

cColumnCaracteresTitulo da tabela que será adicionada
X

nAlignNuméricoAlinhamento da coluna ( 1-Left,2-Center,3-Right )
X

nFormatNuméricoCodigo de formatação ( 1-General,2-Number,3-Monetário,4-DateTime )
X

lTotalLógicoIndica se a coluna deve ser totalizada
X


 


AddRow

Sintaxe
FWMsExcelEx():AddRow(< cWorkSheet >, < cTable >, < aRow >,< aCelStyle >)-> NIL

Descrição
Adiciona uma linha a tabela de uma Worksheet.

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cWorkSheetCaracteresNome da planilha
X

cTableCaracteresNome da tabela
X

aRowArray of RecordsArray com as informações da linha da linha
X

aCelStyleArray of RecordsArray com as posições das colunas que receberão o estilo específicos



 


GetXMLFile

Sintaxe
FWMsExcelEx():GetXMLFile(< cFile >)-> NIL

Descrição
Cria um arquivo no formato XML do MSExcel 2003 em diante

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cFileCaracteresNome do arquivo fisico
X


 


IsWorkSheet

Sintaxe
FWMsExcelEx():IsWorkSheet(< cWorkSheet >)-> NIL

Descrição
Verifica se um nome já foi utilizado para definir uma WorkSheet

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cWorkSheetCaracteresNome
X


 


SetFontSize

Sintaxe
FWMsExcelEx():SetFontSize(< nFontSize >)-> NIL

Descrição
Define o tamanho para a fonte para todos os estilos da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nFontSizeNuméricoTamanho
X


 


SetFont

Sintaxe
FWMsExcelEx():SetFont(< cFont >)-> NIL

Descrição
Define a fonte que será utilizada para todos os estilos da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cFontCaracteresNome da Fonte
X


 


SetItalic

Sintaxe
FWMsExcelEx():SetItalic(< lItalic >)-> NIL

Descrição
Define se a fonte terá a configuração "Italico" para todos os estilos da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lItalicLógico.T. indica que sim
X


 


SetBold

Sintaxe
FWMsExcelEx():SetBold(< lBold >)-> NIL

Descrição
Define se a fonte terá a configuração "Negrito" para todos os estilos da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lBoldLógico.T. indica que sim
X


 


SetUnderLine

Sintaxe
FWMsExcelEx():SetUnderLine(< lUnderline >)-> NIL

Descrição
Define se a fonte terá a configuração "Sublinhado" para todos os estilos da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lUnderlineLógico.T. indica que sim
X


 


SetFrGeneralColor

Sintaxe
FWMsExcelEx():SetFrGeneralColor(< cColor >)-> NIL

Descrição
Define a cor de preenchimento geral para todos os estilos da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


SetBgGeneralColor

Sintaxe
FWMsExcelEx():SetBgGeneralColor(< cColor >)-> NIL

Descrição
Define a cor da fonte do estilo do Titulo para todos os estilos da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


SetTitleFont

Sintaxe
FWMsExcelEx():SetTitleFont(< cFont >)-> NIL

Descrição
Define a fonte que será utilizada no estilo do Título

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cFontCaracteresNome da Fonte
X


 


SetTitleSizeFont

Sintaxe
FWMsExcelEx():SetTitleSizeFont(< nFontSize >)-> NIL

Descrição
Define o tamanho para a fonte do estilo do Título

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nFontSizeNuméricoTamanho
X


 


SetTitleItalic

Sintaxe
FWMsExcelEx():SetTitleItalic(< lItalic >)-> NIL

Descrição
Define se a fonte terá a configuração "Italico" no estilo do Titulo

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lItalicLógico.T. indica que sim
X


 


SetTitleBold

Sintaxe
FWMsExcelEx():SetTitleBold(< lBold >)-> NIL

Descrição
Define se a fonte terá a configuração "Negrito" no estilo do Título

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lBoldLógico.T. indica que sim
X


 


SetTitleUnderLine

Sintaxe
FWMsExcelEx():SetTitleUnderLine(< lUnderline >)-> NIL

Descrição
Define se a fonte terá a configuração "Sublinhado" no estilo do Titulo

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lUnderlineLógico.T. indica que sim
X


 


SetTitleFrColor

Sintaxe
FWMsExcelEx():SetTitleFrColor(< cColor >)-> NIL

Descrição
Define a cor de preenchimento do estilo do Titulo

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


SetTitleBgColor

Sintaxe
FWMsExcelEx():SetTitleBgColor(< cColor >)-> NIL

Descrição
Define a cor da fonte do estilo do Titulo

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


SetHeaderFont

Sintaxe
FWMsExcelEx():SetHeaderFont(< cFont >)-> NIL

Descrição
Define a fonte que será utilizada no estilo do Cabeçalho

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cFontCaracteresNome da Fonte
X


 


SetHeaderSizeFont

Sintaxe
FWMsExcelEx():SetHeaderSizeFont(< nFontSize >)-> NIL

Descrição
Define o tamanho para a fonte do estilo do Cabeçalho

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nFontSizeNuméricoTamanho
X


 


SetHeaderItalic

Sintaxe
FWMsExcelEx():SetHeaderItalic(< lItalic >)-> NIL

Descrição
Define se a fonte terá a configuração "Italico" no estilo do Cabeçalho

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lItalicLógico.T. indica que sim
X


 


SetHeaderBold

Sintaxe
FWMsExcelEx():SetHeaderBold(< lBold >)-> NIL

Descrição
Define se a fonte terá a configuração "Negrito" no estilo do Cabeçalho

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lBoldLógico.T. indica que sim
X


 


SetHeaderUnderLine

Sintaxe
FWMsExcelEx():SetHeaderUnderLine(< lUnderline >)-> NIL

Descrição
Define se a fonte terá a configuração "Sublinhado" no estilo do Cabeçalho

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lUnderlineLógico.T. indica que sim
X


 


SetFrColorHeader

Sintaxe
FWMsExcelEx():SetFrColorHeader(< cColor >)-> NIL

Descrição
Define a cor de preenchimento do estilo do Cabeçalho

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


SetBgColorHeader

Sintaxe
FWMsExcelEx():SetBgColorHeader(< cColor >)-> NIL

Descrição
Define a cor da fonte do estilo do Cabeçalho

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


SetLineFont

Sintaxe
FWMsExcelEx():SetLineFont(< cFont >)-> NIL

Descrição
Define a fonte que será utilizada no estilo da Linha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cFontCaracteresNome da Fonte
X


 


SetLineSizeFont

Sintaxe
FWMsExcelEx():SetLineSizeFont(< nFontSize >)-> NIL

Descrição
Define o tamanho para a fonte do estilo da Linha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nFontSizeNuméricoTamanho
X


 


SetLineItalic

Sintaxe
FWMsExcelEx():SetLineItalic(< lItalic >)-> NIL

Descrição
Define se a fonte terá a configuração "Italico" no estilo da Linha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lItalicLógico.T. indica que sim
X


 


SetLineBold

Sintaxe
FWMsExcelEx():SetLineBold(< lBold >)-> NIL

Descrição
Define se a fonte terá a configuração "Negrito" no estilo da Linha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lBoldLógico.T. indica que sim
X


 


SetLineUnderLine

Sintaxe
FWMsExcelEx():SetLineUnderLine(< lUnderline >)-> NIL

Descrição
Define se a fonte terá a configuração "Sublinhado" no estilo da Linha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lUnderlineLógico.T. indica que sim
X


 


SetLineFrColor

Sintaxe
FWMsExcelEx():SetLineFrColor(< cColor >)-> NIL

Descrição
Define a cor de preenchimento do estilo da Linha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


SetLineBgColor

Sintaxe
FWMsExcelEx():SetLineBgColor(< cColor >)-> NIL

Descrição
Define a cor da fonte do estilo da Linha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


Set2LineFont

Sintaxe
FWMsExcelEx():Set2LineFont(< cFont >)-> NIL

Descrição
Define a fonte que será utilizada no estilo da Linha 2

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cFontCaracteresNome da Fonte
X


 


Set2LineSizeFont

Sintaxe
FWMsExcelEx():Set2LineSizeFont(< nFontSize >)-> NIL

Descrição
Define o tamanho para a fonte do estilo da Linha 2

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nFontSizeNuméricoTamanho
X


 


Set2LineItalic

Sintaxe
FWMsExcelEx():Set2LineItalic(< lItalic >)-> NIL

Descrição
Define se a fonte terá a configuração "Italico" no estilo da Linha 2

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lItalicLógico.T. indica que sim
X


 


Set2LineBold

Sintaxe
FWMsExcelEx():Set2LineBold(< lBold >)-> NIL

Descrição
Define se a fonte terá a configuração "Negrito" no estilo da Linha 2

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lBoldLógico.T. indica que sim
X


 


Set2LineUnderLine

Sintaxe
FWMsExcelEx():Set2LineUnderLine(< lUnderline >)-> NIL

Descrição
Define se a fonte terá a configuração "Sublinhado" no estilo da Linha 2

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lUnderlineLógico.T. indica que sim
X


 


Set2LineFrColor

Sintaxe
FWMsExcelEx():Set2LineFrColor(< cColor >)-> NIL

Descrição
Define a cor de preenchimento do estilo da Linha 2

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


Set2LineBgColor

Sintaxe
FWMsExcelEx():Set2LineBgColor(< cColor >)-> NIL

Descrição
Define a cor da fonte do estilo da Linha 2

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X

SetCelFont

Sintaxe
FWMsExcelEx():SetCelFont(< cFont >)-> NIL

Descrição
Define a fonte que será utilizada no estilo da Célula indicada no método :AddRow()

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cFontCaracteresNome da Fonte
X


 
SetCelSizeFont

Sintaxe
FWMsExcelEx():SetCelSizeFont(< nFontSize >)-> NIL

Descrição
Define o tamanho para a fonte do estilo da  Célula indicada no método :AddRow()

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nFontSizeNuméricoTamanho
X


 
SetCelItalic

Sintaxe
FWMsExcelEx():SetCelItalic(< lItalic >)-> NIL

Descrição
Define se a fonte terá a configuração "Italico" no estilo da  Célula indicada no método :AddRow()

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lItalicLógico.T. indica que sim
X


 
SetCelBold

Sintaxe
FWMsExcelEx():SetCelBold(< lBold >)-> NIL

Descrição
Define se a fonte terá a configuração "Negrito" no estilo da  Célula indicada no método :AddRow()

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lBoldLógico.T. indica que sim
X


 
SetCelUnderLine

Sintaxe
FWMsExcelEx():SetCelUnderLine(< lUnderline >)-> NIL

Descrição
Define se a fonte terá a configuração "Sublinhado" no estilo da  Célula indicada no método :AddRow()

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

lUnderlineLógico.T. indica que sim
X


 
SetCelFrColor

Sintaxe
FWMsExcelEx():SetCelFrColor(< cColor >)-> NIL

Descrição
Define a cor de preenchimento do estilo da  Célula indicada no método :AddRow()

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 
SetCelBgColor

Sintaxe
FWMsExcelEx():SetCelBgColor(< cColor >)-> NIL

Descrição
Define a cor da fonte do estilo da  Célula indicada no método :AddRow()

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

cColorCaracteresCor em Hexadecimal
X


 


SetUTF8Encode

Sintaxe
FWMsExcelEx():SetUTF8Encode( <lUtf8> )-> NIL

Descrição
Define a utilização do encode UTF8

Parâmetros

NomeTipoDescriçãoDefaultObrigatórioReferência
lUtf8LógicoIndica se será utilizado ou não o encode UTF8 para os conteúdos enviados para criação da planilha. Por padrão as string enviadas será encodadas para UTF8
X


SetTitleHAlign


Sintaxe
FWMsExcelEx():SetTitleHAlign(< nAlign >)-> NIL



Descrição
Define o alinhamento horizontal da linha de título

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nAlignNuméricoAlinhamento da linha ( 1-Left,2-Center,3-Right )2X



SetHeaderHAlign


Sintaxe
FWMsExcelEx():SetHeaderHAlign(< nAlign >)-> NIL



Descrição
Define o alinhamento horizontal da linha de cabeçalho

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nAlignNuméricoAlinhamento da linha ( 1-Left,2-Center,3-Right )2X



SetTitleVAlign


Sintaxe
FWMsExcelEx():SetTitleVAlign(< nAlign >)-> NIL



Descrição
Define o alinhamento vertical da linha de título

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nAlignNuméricoAlinhamento da linha ( 1-Top,2-Center,3-Bottom)3X


SetHeaderVAlign


Sintaxe
FWMsExceExl():SetHeaderVAlign(< nAlign >)-> NIL



Descrição
Define o alinhamento vertical da linha de cabeçalhos

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nAlignNuméricoAlinhamento da linha ( 1-Top,2-Center,3-Bottom)3X


SetLineVAlign


Sintaxe
FWMsExcelEx():SetLineVAlign(< nAlign >)-> NIL



Descrição
Define o alinhamento vertical das linhas do corpo da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nAlignNuméricoAlinhamento da linha ( 1-Top,2-Center,3-Bottom)3X



SetTitleHeight


Sintaxe
FWMsExcelEx():SetTitleHeight(< nHeight>)-> NIL



Descrição
Define o alinhamento vertical das linhas do corpo da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nHeightNuméricoAltura da linha




SetHeadHeight


Sintaxe
FWMsExcelEx():SetHeadHeight(< nHeight>)-> NIL



Descrição
Define o alinhamento vertical das linhas do corpo da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nHeightNuméricoAltura da linha




SetLineHeight


Sintaxe
FWMsExcelEx():SetLineHeight(< nHeight>)-> NIL



Descrição
Define o alinhamento vertical das linhas do corpo da planilha

Parâmetros



NomeTipoDescriçãoDefaultObrigatórioReferência

nHeightNuméricoAltura da linha







A classe FWMsExcelEx escreve diretamente em arquivo, com isso, tem uma característica de sempre ir para frente e não retroceder, portanto não é possível voltar para escrever em uma planilha após criar outra, a escrita precisar ser sequencial, caso contrário, o arquivo gerado vai ficar com inconsistências, não podendo ser aberto.

3 Comentários

  1. No metodo addColumn na documentação esta repetido o nome da planilha, deveria ser nome da WorkSheet e depois nome da planilha

     

    1. Obrigado pela observação José.

      A documentação já foi corrigida. (piscar o olho)

  2. 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?