Clipper On Line • Ver Tópico - grafico usando o excell

grafico usando o excell

Discussão sobre ferramentas de apoio à programação (Clipper/[x]Harbour)

Moderador: Moderadores

 

grafico usando o excell

Mensagempor paiva_dbdc » 02 Nov 2019 17:21

Boa tarde.

Peguei essa função não sei de onde.

gero um dbf e chamo a função

estou tentando ver se funciona + da pau

auguem usa algo parecido ?

*** Grafico EXCELL

FUNCTION gpizza_excell( excell_programa, excell_nprograma )
     LOCAL oExcel, oSheet, oPlan
     LOCAL nCounter

*select axxabc
*msgstop(strzero(recno(),6))

     cTempDir := "c:\dbdc\excell"

     TRY
        oExcel := GetActiveObject( "Excel.Application" )
     CATCH
        TRY
           oExcel := CreateObject( "Excel.Application" )
        CATCH
           pmsg= "ERRO! Excel nÆo Instalado. [" + Ole2TxtError()+ "]"
           ftempo()
           RETURN
        END
     END

   msgstop("gpizza_exell 01")
     oExcel:WorkBooks:Add()          && da pau aqui
   msgstop("gpizza_exell 02")
     oSheet = oExcel:ActiveSheet()
     msgstop("gpizza_exell 03")

    *if File(cTempDir+[\]+alltrim(pusuario)+".xls")
    *    fErase(cTempDir+[\]+alltrim(pusuario)+".xls")
    *    oSheet:SaveAs(cTempDir+[\]+alltrim(pusuario)+".xls")
    *else
    *    oSheet:SaveAs(cTempDir+[\]+alltrim(pusuario)+".xls")
    *endif

     oSheet:Cells:Font:Name = "Courier New"
     oSheet:Cells:Font:Size = 17
     oSheet:cells:Font:ColorIndex := 11
     oSheet:Cells( 1, 1 ):Value := trim(pnomeapl)
     msgstop("gpizza_exell 04")

     oSheet:Cells:Font:Name = "Courier New"
     oSheet:Cells:Font:Size = 12
     oSheet:Cells( 3, 1 ):Value := hb_oemtoansi("Descri‡Æo")
     oSheet:Cells( 3, 2 ):Value := "Valor"
     msgstop("gpizza_exell 05")

     oSheet:cells:Font:ColorIndex := 00   &&  qual a cor BLACK ?

    *oSheet:Columns( 1 ):Font:Bold := .T.

     oSheet:Columns( 1 ):AutoFit()
     oSheet:Columns( 2 ):AutoFit()
     msgstop("gpizza_exell 06")

     nCounter := 5
     cMEMO:=""
     C:=1
     B:=len(MATA)

     msgstop("gpizza_exell 02")
     DO WHILE C <= B
        //         1                2             3           4         5               6              7              8
        //{        DESCRICAO,        VALOR, CUSTO->ICMS, CUSTO->IPI,    CUSTO->UNIDADE, CUSTO->TAXADF, STR(RECNO(),6), CUSTO->PRECUSTO } )
        cMEMO += MATA[C,1]                                        // 1- DESCRICAO
        cMEMO += CHR(9)+TRANSF(MATA[C,2]  , "@E 99,999,999.9999") // 2- Valor
        cMEMO += CHR(10)

       *Mudar a cor das linhas sob condicoes
       *if testtemp->qtd <= 0
       *   oExcel:Rows(nCounter):Font:ColorIndex := 3
       *else
       *   oExcel:Rows(nCounter):Font:ColorIndex := 11
       *endif

        if  C = (B-1)   && Ultima linha
            oSheet:Columns( 1 ):Font:Bold := .T.
        endif

*112009 GTSetClipboard( cMemo ) xhb NOVO

        oSheet:Cells( nCounter, 1 ):Select()
        oSheet:paste()
        cMemo := ''

       C++
       nCounter++

     ENDDO
    *oSheet:Columns( 1 ):Font:Bold := .T.

  msgstop("gpizza_exell 03")

     nCounter = nCounter - 1
     oSheet:Columns( "A:B" ):AutoFit()
    *oSheet:Cells( 4,nCounter ):Select()  &&   NAO Seleciona as linhas

     oExcel:Visible = .T.

RETURN( nil )


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Nota de Moderação:
Toledo: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

grafico usando o excell

Mensagempor Toledo » 02 Nov 2019 18:24

Paiva, tente assim:

oWorkBook := oExcel:WorkBooks:Add()


Abraços
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

grafico usando o excell

Mensagempor paiva_dbdc » 02 Nov 2019 21:52

Error description: Error BASE/1003 Variável não existe: WORKBOOK

*oExcel:WorkBooks:Add() && da pau aqui
WorkBook:WorkBooks:Add() && da pau aqui

opa fiz isso e da esse erro
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

grafico usando o excell

Mensagempor Toledo » 02 Nov 2019 22:08

Paiva, faz exatamente como está na minha mensagem anterior.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

grafico usando o excell

Mensagempor paiva_dbdc » 03 Nov 2019 18:06

boa noite

oWorkBook := oExcel:WorkBooks:Add()

o seletor.exe parou de funcionar ..... ai tenho que derrubar o exe

deve estar faltando alguma coisa

Paiva
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

grafico usando o excell

Mensagempor Toledo » 03 Nov 2019 18:49

Paiva, dê uma olhada neste tópico, que tem um exemplo de como fazer um gráfico no Excel.

http://www.pctoledo.com.br/forum/viewtopic.php?f=45&t=9306&p=52730&hilit=Charts%3AAdd#p52730

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

grafico usando o excell

Mensagempor paiva_dbdc » 03 Nov 2019 20:02

MUITO obrigado

usando o exemplo abaixo fez um gráfico de BARRAS

para fazer tipo Pizza , ou outra forma
existe um comando que SETE o tipo de gráfico ?

function ___grafico()

Local oExcel, oHoja, oChart
*cfile = [\sergio\sfa32\pre\exc_paiva]

// Abrimos Excel
oExcel:= CreateObject( "Excel.Application" )

// Verificamos si hay error
if Ole2TxtError() != 'S_OK'
MsgInfo('Excel no esta disponible','Advertencia')
Return
endif

oExcel:Visible := .T. // Hacemos visibles los ca,bios

oExcel:Workbooks:Open(cFILE) // Abrimos el BDF

oExcel:Set("DisplayAlerts",.F.) // Deshabilitamos mensajes de Error

oHoja:=oExcel:Get( "ActiveSheet" ) // Activamos la hoja

*oHoja:Range("A1:D4"):Select() // Definimos Rango
*oHoja:Range("B1:C8"):Select() // Definimos Rango
oHoja:Range(Prange):Select() // Definimos Rango

oChart:=oExcel:Charts:Add() // Creamos una grafico de barras

oChart:Hastitle:=.T. // Definimos el titulo
oChart:ChartTitle:Text:="Titulo dos Grafico"
oExcel:Visible := .t.

RETURN
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

grafico usando o excell

Mensagempor Toledo » 03 Nov 2019 20:35

Paiva, faz um teste, antes do comando oExcel:Visible := .t. coloque:

oChart:ChartType:=xlPie


Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

grafico usando o excell

Mensagempor paiva_dbdc » 05 Nov 2019 17:31

deu erro

Error description: Error BASE/1003 Variável não existe: XLPIE

PAiva
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

grafico usando o excell

Mensagempor rochinha » 10 Nov 2019 23:06

Amiguinhos,

paiva_dbc
Os valores de xlPie podem ser

xlPie := 0,5 // Pizza.
xlPieExploded := 69 // Pizza destacada.
xlPieOfPie := 68 // Pizza de pizza.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes

grafico usando o excell

Mensagempor paiva_dbdc » 11 Nov 2019 11:20

BOM dia

Error description: Error BASE/1005 Class: 'NIL' has no property: CHARTTYPE
estou fazendo assim:

function ___grafico()
Local oExcel, oHoja, oChart
// Abrimos Excel
oExcel:= CreateObject( "Excel.Application" )
// Verificamos si hay error
if Ole2TxtError() != 'S_OK'
MsgInfo('Excel no esta disponible','Advertencia')
Return
endif

xlPie := 0.5 &&// Pizza.
xlPieExploded := 69 // Pizza destacada.
xlPieOfPie := 68 // Pizza de pizza.

oChart:ChartType:=xlPie && ************** onde ocorre o erro **********************

oExcel:Visible := .T. // Hacemos visibles los ca,bios
oExcel:Workbooks:Open(cFILE) // Abrimos el BDF
oExcel:Set("DisplayAlerts",.F.) // Deshabilitamos mensajes de Error
oHoja:=oExcel:Get( "ActiveSheet" ) // Activamos la hoja
oHoja:Range(Prange):Select() // Definimos Rango
oChart:=oExcel:Charts:Add() // Creamos una grafico de barras
oChart:Hastitle:=.T. // Definimos el titulo
oChart:ChartTitle:Text:="Titulo dos Grafico"
oExcel:Visible := .t.

RETURN

se enibo a linha oChart:ChartType:=xlPie

gera um gráfico em Barra

queria ver como fica um em PIZZA

Obrigado
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

grafico usando o excell

Mensagempor rochinha » 12 Nov 2019 15:44

Amiguinhos,

paiva_dbdc
É a primeira vez que você tem contacto com codificação de objetos?

Perceba que se um objeto não for instanciado ou se seus métodos não forem anunciados antes não haverá meios de usá-los obtendo erros de indefinição.

xlPie := 0.5 &&// Pizza.
xlPieExploded := 69 // Pizza destacada.
xlPieOfPie := 68 // Pizza de pizza.

oChart:ChartType:=xlPie && ************** onde ocorre o erro **********************

oExcel:Visible := .T. // Hacemos visibles los ca,bios
oExcel:Workbooks:Open(cFILE) // Abrimos el BDF
oExcel:Set("DisplayAlerts",.F.) // Deshabilitamos mensajes de Error
oHoja:=oExcel:Get( "ActiveSheet" ) // Activamos la hoja
oHoja:Range(Prange):Select() // Definimos Rango
oChart:=oExcel:Charts:Add() // Creamos una grafico de barras
oChart:Hastitle:=.T. // Definimos el titulo
oChart:ChartTitle:Text:="Titulo dos Grafico"
oExcel:Visible := .t.

RETURN


Aqui um erro clássico é acionar um método ou propriedade de um objeto que ainda não está criado. Você tentou sair dirigindo antes de entrar no automóvel.

xlPie := 0.5 &&// Pizza.
xlPieExploded := 69 // Pizza destacada.
xlPieOfPie := 68 // Pizza de pizza.

oExcel:Visible := .T. // Hacemos visibles los ca,bios
oExcel:Workbooks:Open(cFILE) // Abrimos el BDF
oExcel:Set("DisplayAlerts",.F.) // Deshabilitamos mensajes de Error
oHoja:=oExcel:Get( "ActiveSheet" ) // Activamos la hoja
oHoja:Range(Prange):Select() // Definimos Rango
oChart:=oExcel:Charts:Add() // Creamos una grafico de barras **************** OI, aqui fui criado ***************
oChart:Hastitle:=.T. // Definimos el titulo
oChart:ChartTitle:Text:="Titulo dos Grafico"
oExcel:Visible := .t.

oChart:ChartType:=xlPie && ************** onde OCORRIA o erro **********************

RETURN
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes




Retornar para Ferramentas de Apoio

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro