Clipper On Line • Ver Tópico - Exportar para excel com Abas

Exportar para excel com Abas

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Exportar para excel com Abas

Mensagempor asimoes » 23 Ago 2017 22:50

Não funcionou,

A impressão que eu tenho é que tem que ter o office excel, word, etc instalado pra funcionar
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Exportar para excel com Abas

Mensagempor asimoes » 23 Ago 2017 23:17

agora funcionou a string de conexão estava errada:

A que funcionou:

cStr := [Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\excel\Aniversariantes.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";]
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Exportar para excel com Abas

Mensagempor lugab » 27 Nov 2018 12:24

Bom dia, pessoal...

Alguém tem exemplo de geração de gráfico de barras no Excel pra compartilhar ?
lugab
lugab
Colaborador

Colaborador
 
Mensagens: 843
Data de registro: 19 Mai 2009 15:58
Curtiu: 126 vezes
Mens.Curtidas: 38 vezes

Exportar para excel com Abas

Mensagempor asimoes » 03 Mai 2019 10:30

Voltando ao assunto:

oSheet:Cells( 2, 1 ):Value := "'"+"003ACAD"

Pode usar assim também, assim não fica a aspas simples na frente do valor

oSheet:Cells( 2, 1 ):Value := Chr(160) + "003ACAD"
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Exportar para excel com Abas

Mensagempor asimoes » 09 Mai 2019 11:00

Inserindo imagem no excel

With Object oSheet1 := oExcel:ActiveSheet
   //:Shapes:addPicture("P:\GERAL\HARBOUR\TESTE.JPG", 0, 1, 5, 5, 100, 100)
   // Ou
   :Cells( 1, 1 ):Select()   
   :Pictures:Insert( "P:\GERAL\HARBOUR\TESTE.JPG" ):Select()
End   
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Exportar para excel com Abas

Mensagempor Alexandre Silva » 18 Mai 2019 17:54

O que eu nao consigo é definir a celula como no exemplo do cliente
Nas primeiras linhas, dos titulos, aparacem as bordas das celulas do conteudo dos dados de baixo
Como se a primeira linha tivesse 4 colunas e nao apenas uma..
Tb nao consigo fazer uma linha mais fina como no exemplo do cliente..

Se tivesse uma maneira de carregar a planilha vazia do cliente e preencher omo os dados do arquivo.. tb seria bom..

Obrigado
Anexos
ModeloCliente.xls
(39 KiB) Baixado 123 vezes
Pasta1.xls
Teste que estou fazendo..
(36.5 KiB) Baixado 122 vezes
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

Exportar para excel com Abas

Mensagempor asimoes » 19 Mai 2019 10:50

a primeira linha você tem que mesclar a celulas de a1 a1

Eu não tenho excel aqui para testar, mas não é difícil fazer essa planilha
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Exportar para excel com Abas

Mensagempor asimoes » 19 Mai 2019 10:55

Um exemplo:

   oExcel := Win_OleCreateObject( "Excel.Application" ) 

   xlMaximized := -4137
   
   xlMinimized := -4140
      
   xlNormal    := -4143      
      
   WITH OBJECT oExcel
      :DisplayAlerts := .F.
      :ScreenUpdating := .F.
      :Visible := .F.    
      :WorkBooks:Add()
      :Sheets:Add()
      oSheet := :ActiveSheet
   END
   
   HB_CDPSELECT( "PTISO" )
   
   WITH OBJECT oSheet
   
      :Name := "BOLETIM QUANTITATIVO"
         
      :Cells( 1, 1 ):Select()   
       
      :Cells( 1, 2 ):Value := Hb_Eol() + Space(50) + "SECRETARIA MUNICIPAL DE FAZENDA" + ;
                              Hb_Eol() + Space(50) + "SUBSECRETARIA DE GESTÃO" + ;
                              Hb_Eol() + Space(50) + "GERÊNCIA DE RECURSOS HUMANOS"   
     
      FOR I:=1 TO 2
         :Cells( I, 2 ):VerticalAlignment   := xlVAlignTop
         :Rows(1):RowHeight := 60   
      NEXT 
         
      oSheet:Range("A1:G4"):Merge()
     
      :Shapes:addPicture("P:\GERAL\HARBOUR\FAZENDA.JPG", 0, 1, 5, 5, 100, 100)
               
      //:Columns(2):ColumnWidth := 40   
     
      :Cells( 6, 1 ):Value := "CARGOS"
     
      :Cells( 6, 1 ):Borders(2):LineStyle:= 1   
         
      :Cells( 6, 1 ):Borders(4):LineStyle:= 1   
     
      FOR I:=1 TO 6
         :Cells( I, 1 ):Font:Bold := .T.   
      NEXT
     
      nCol := 2
         
      FOR EACH oElemento IN aColunas
         IF ! Empty( oElemento[6] )
              IF Trim( oElemento[6] ) = "SMF" .OR. Trim( oElemento[6] ) = "GERAL"
               :Cells( 6, nCol ):Value := Trim( oElemento[5] ) + " " + Trim( oElemento[6] )
               IF Trim( oElemento[6] ) = "GERAL"
                  :Cells( 6, nCol ):Borders(1):LineStyle := 1
               ENDIF
            ELSE
               :Cells( 6, nCol ):Value := Trim( oElemento[5] ) + "/" + Trim( oElemento[6] )    
            ENDIF         
         ELSE
            :Cells( 6, nCol ):Value := Trim( oElemento[5]   )
         ENDIF   
         :Cells( 6, nCol ):Font:Bold            := .T.
         :Cells( 6, nCol ):HorizontalAlignment  := Centro
         :Cells( 6, nCol ):Borders(4):LineStyle := 1   
         nCol ++
      NEXT
     
      nLin := 7
     
      FOR EACH oElemento IN aCar
         :Cells( nLin, 1 ):Value                := oElemento
         :Cells( nLin, 1 ):Borders(2):LineStyle := 1
         :Cells( nLin, 1 ):Borders(4):LineStyle := 1
         nCol := 2
         FOR nLot := 1 TO Len( aTotal[ oElemento:__enumIndex ] )
              IF aTotal[ oElemento:__enumIndex ][ nLot ] != 0
               :Cells( nLin, nCol ):Value := Str( aTotal[ oElemento:__enumIndex ][ nLot ], 6 )
            ENDIF
            :Cells( nLin, nCol ):Borders(4):LineStyle := 1
            nCol ++
         NEXT
         :Cells( nLin, nCol - 1 ):Borders(1):LineStyle := 1
         nLin ++
      NEXT
     
      :Cells( nLin, 1 ):Value := "TOTAL GERAL"
     
      nCol := 2
         
      FOR nLot := 1 TO Len( aTotal[Len( aTotal )] )
         IF aTotal[Len( aTotal )][nLot] != 0   
            :Cells( nLin, nCol ):Value := Str( aTotal[Len( aTotal )][nLot], 6 )
         ENDIF
         nCol ++
      NEXT
     
      nColunas := oSheet:UsedRange():Columns():Count
     
      oExcel:Sheets("BOLETIM QUANTITATIVO"):Select()   
         
      :Columns():AutoFit()   
   END

   WITH OBJECT oExcel   
      :ScreenUpdating          := .T.
      :Application:WindowState := xlMaximized
      :ActiveWorkbook:SaveAs( "D:\TEMP_DRH\BOLETIM", 56 ) // 56 = xls, 61 = xlsx
      :Visible                 := .T.
   END
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Exportar para excel com Abas

Mensagempor Alexandre Silva » 21 Mai 2019 15:51

opa
Obrigado , essas propriedades :

:Rows(1):RowHeight := 60 Altura da linha
e oSheet:Range("A1:G4"):Merge()
me ajudaram muito..
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

Exportar para excel com Abas

Mensagempor Alexandre Silva » 04 Jun 2019 15:07

Nao sei como colocar 2 imagens (logotipos) na planilha..

Uma imagem eu consigo na celula (1,1) ,
Ja na segunda tentativa nao funcionou,
Eu queria a imagem nas 2 paginas ja que tem muitas colunas, a planilha quebra em 2 paginas lado a lado

vimagem:='c:\logo.jpg'
oExcel:= TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Add()
oSheet:= oExcel:Get( "ActiveSheet" )
oSheet:PageSetup:Orientation  := 2 // 2 paisagem, 1=retrato
oSheet:PageSetup:PrintGridlines := .t.
oSheet:name:='RM 04'
oSheet:Cells:Font:Name := "Arial"
oSheet:Cells:Font:Size := 8
*---
vc1:=10
vc2:=25
vlf:='AO'
oSheet:Cells(1,1):Font:Size := 20
oSheet:Cells(1,1):Font:Bold := .T.
oSheet:Cells(1,1):HorizontalAlignment := -4108  //Centrar nome
oSheet:Cells(1,1):VerticalAlignment := -4108  //Centrar nome
oSheet:Cells(1,1):Value := 'Planejamento e Controle da Produ‡ao'
oSheet:Rows(1):RowHeight := 34
oSheet:Range("A1:V1"):Merge()
oSheet:Cells(1,1):Select()
if file(vimagem)    //
   oSheet:Shapes:addPicture(vimagem, 0, 1, 5, 5, -1, -1)
endif
*------------
oSheet:Cells(1,vc2):Font:Size := 20
oSheet:Cells(1,vc2):Font:Bold := .T.
oSheet:Cells(1,vc2):HorizontalAlignment := -4108  //Centrar nome
oSheet:Cells(1,vc2):VerticalAlignment := -4108  //Centrar nome
oSheet:Cells(1,vc2):Value :='Planejamento e Controle da Produ‡ao'
oSheet:Range('W1:'+vlf+'1'):Merge()
if file(vimagem)    // nao funciona  !!!!!! 
   oSheet:Cells(1,vc2):Select()
   oSheet:Shapes:addPicture(vimagem, 0, 1, 5, 5, -1, -1)
endif

* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

Exportar para excel com Abas

Mensagempor alemellado » 24 Jan 2020 12:50

alexandre você na verdade colocou duas vezes a imagem no mesmo lugar, para colocar a segunda imagem deveria ter mudado a coluna onde o excel coloca a imagem
acho que seria mais ou menos isso:
primeira imagem:
oSheet:Shapes:addPicture(vimagem, 0, 1, 5, 5, -1, -1)
segunda imagem:
oSheet:Shapes:addPicture(vimagem, 0, 1, 1060, 5, -1, -1)
aqui o numero 1060 manda colocar a imagem na coluna 1060 e na linha 5
alemellado
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 17
Data de registro: 22 Mar 2005 13:14
Cidade/Estado: S.B.C.-S.P.
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Exportar para excel com Abas

Mensagempor bencz » 31 Jan 2020 13:37

Imagem
Avatar de usuário

bencz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 517
Data de registro: 28 Abr 2012 17:36
Curtiu: 6 vezes
Mens.Curtidas: 34 vezes

Exportar para excel com Abas

Mensagempor kovalsk » 06 Jan 2022 10:45

O que eu estava procurando foi o que não foi respondido que é salvar a planilha e nem abrir na tela.
kovalsk
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 25
Data de registro: 18 Mar 2014 13:45
Cidade/Estado: Juiz de Fora
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Anterior



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 8 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