Skip to content

method FormatCond

Saulo Martins edited this page Jul 4, 2026 · 2 revisions

FormatCond

:FormatCond(cRefDe,cRefAte,nEstilo,cOperator,xFormula)
Cria uma regra de formatação condicional em um intervalo de células


Parâmetros

Parâmetro Tipo Descrição Obrigatório Obs
cRefDe caractere Referência inicial (ex: "A1") X Use o Ref para converter linha/coluna
cRefAte caractere Referência final (ex: "A10")
nEstilo numérico Posição do estilo criado pelo ADDdxf (veja abaixo) X
cOperator caractere Operador da regra (tabela abaixo) X
xFormula caractere, numérico ou array Valor/fórmula da comparação X Para "between", array com duas posições

Operadores

Operador Descrição
= Igual
!= Diferente
> Maior que
>= Maior ou igual
< Menor que
<= Menor ou igual
$ Contém texto
!$ Não contém
between Está contido (xFormula = array com {de,até})
FORMULA Usa a fórmula informada em xFormula como expressão

Retorno

Nulo


Objetos auxiliares para o estilo condicional

O estilo usado na formatação condicional é criado pelo ADDdxf, que recebe objetos criados pelos métodos abaixo:

Método Descrição Retorno
Font(nTamanho,cCorRGB,cNome,cfamily,cScheme,lNegrito,lItalico,lSublinhado,lTachado) Objeto de fonte Array
Preenc(cBgCor,cFgCor,cType) Objeto de preenchimento (cor Alpha+RGB, tipo padrão "solid") Array
ObjBorda(cTipo,cCor,cModelo) Objeto de borda ("C"-Cima, "B"-Baixo, "E"-Esquerda, "D"-Direita, "ALL", pode combinar ex: "ED") Array
ADDdxf(aFont,aCorPreenc,aBorda) Cria o estilo condicional com os objetos acima Numérico (posição do estilo)

Exemplo

Local oExcel  := custom.excel.Xlsx():New(cNomeFile="TstYExcel",cTipo="A")
Local oFont, oCorPre, oCorPre2, oCorPre3, oBorda
Local nPosVerm, nPosVerd, nPosAmar
oExcel:ADDPlan()
oExcel:Pos(13,1):SetValue(-10)
oExcel:Pos(14,1):SetValue(0)
oExcel:Pos(15,1):SetValue(5)
oExcel:Pos(16,1):SetValue(10)
oExcel:Pos(17,1):SetValue(20)
oExcel:Pos(18,1):SetValue(25)

//Cria objetos para serem usados na formatação
oFont   := oExcel:Font(nTamanho=12,cCorRGB="FFFFFF",cNome="Calibri",cfamily="2",lNegrito=.T.,lItalico=.F.,lSublinhado=.F.,lTachado=.F.) //Cor branca negrito
oCorPre := oExcel:Preenc("FF0000")  //Fundo vermelho
oCorPre2:= oExcel:Preenc("00FF00")  //Fundo verde
oCorPre3:= oExcel:Preenc("FFFF00")  //Fundo amarelo
oBorda  := oExcel:ObjBorda(cTipo="ALL",cCor="000000") //Borda preta
//Cria os estilos condicionais
nPosVerm := oExcel:ADDdxf(aFont=oFont,aCorPreenc=oCorPre,aBorda=oBorda)
nPosVerd := oExcel:ADDdxf(aFont=oFont,aCorPreenc=oCorPre2,aBorda=oBorda)
nPosAmar := oExcel:ADDdxf(aCorPreenc=oCorPre3,aBorda=oBorda)

oExcel:FormatCond(cRefDe=oExcel:Ref(13,1),cRefAte=oExcel:Ref(18,1),nEstilo=nPosVerm,cOperator="<",xFormula=0)             //Número negativo em vermelho
oExcel:FormatCond(cRefDe=oExcel:Ref(13,1),cRefAte=oExcel:Ref(18,1),nEstilo=nPosVerd,cOperator="between",xFormula={10,20}) //Entre 10 e 20 em verde
oExcel:FormatCond(cRefDe=oExcel:Ref(13,1),cRefAte=oExcel:Ref(18,1),nEstilo=nPosAmar,cOperator="=",xFormula="0")           //Igual a zero em amarelo

oExcel:Save(GetTempPath())
oExcel:OpenApp()
oExcel:Close()

Obs

Os estilos criados pelo ADDdxf pertencem ao arquivo (workbook) e podem ser reutilizados em outras planilhas (abas).


Clone this wiki locally