Exportar para excel com Abas
Moderador: Moderadores
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Exportar para excel com Abas
Caros exportar rel para o excel nos jah falamos aqui no forum e tem varios exemplos. Mas alguem saberia me dizer como faco para exportar o relatorio para o excel e adicionar abas?
Marcos Roberto.
Marcos Roberto.
Marcos Roberto
NetService Software
NetService Software
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Exportar para excel com Abas
Marcos, como você mostra os relatórios do seu sistema ? dependendo de como você usa posso lhe ajudar postando alguns exemplos.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Exportar para excel com Abas
Marcos, dê uma olhada neste exemplo:
Abraços,
Código: Selecionar todos
FUNCTION MAIN()
LOCAL oExcel, oSheet
oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Add()
oSheet := oExcel:Get( "ActiveSheet" )
oSheet:Name := "Aba 1"
oSheet:Cells( 1, 1 ):Value := "Codigo"
oSheet:Cells( 1, 2 ):Value := "Nome"
oExcel:Sheets:Add()
oSheet := oExcel:Get( "ActiveSheet" )
oSheet:Name := "Aba 2"
oSheet:Cells( 1, 1 ):Value := "Data"
oSheet:Cells( 1, 2 ):Value := "Valor"
oSheet:Cells( 1, 1 ):Select()
oExcel:Visible := .T.
Return NilToledo - 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
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
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Re: Exportar para excel com Abas
Obrigado Leonardo e Toledo. No exemplo do Toledo como eu poderia preencher as celulas e principalmente como eu consigo manipular o tamanho das celulas. Na verdade eu tenho um relatorio que dentro de um relatorio ele apresenta 5 paginas (que seria as abas) e cada uma com seu formato. Estou com uma certa dificuldade para manipular as celulas via xhb. Obrigado.
Marcos Roberto.
Marcos Roberto.
Marcos Roberto
NetService Software
NetService Software
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Exportar para excel com Abas
Preencher as células: Cells(linha,coluna):Valuemarcos.gurupi escreveu:No exemplo do Toledo como eu poderia preencher as celulas e principalmente como eu consigo manipular o tamanho das celulas.
Código: Selecionar todos
oSheet:Cells( 2, 1 ):Value := "Nº"
oSheet:Cells( 2, 2 ):Value := " N O M E D O P A I"
oSheet:Cells( 2, 3 ):Value := " N O M E D O A L U N O"
oSheet:Cells( 2, 4 ):Value := "Ano"
oSheet:Cells( 2, 5 ):Value := "Mensalidade"
oSheet:Cells( 2, 6 ):Value := "Apostila"
oSheet:Cells( 2, 7 ):Value := "Xerox"
oSheet:Cells( 2, 8 ):Value := "Uniforme"
oSheet:Cells( 2, 9 ):Value := "R.O."
oSheet:Cells( 2, 10 ):Value := "Total"Código: Selecionar todos
oSheet:Columns(1):ColumnWidth := 3.86
oSheet:Columns(2):ColumnWidth := 40
oSheet:Columns(3):ColumnWidth := 40
oSheet:Columns(4):ColumnWidth := 7
oSheet:Columns(5):ColumnWidth := 6.43Código: Selecionar todos
oSheet:Cells( 1, 1 ):Font:Size := 14
oSheet:Cells( 1, 1 ):Font:Bold := .T.
oSheet:Cells( 2, 1 ):Font:Size := 10Alinhamento das células:
Código: Selecionar todos
oSheet:Cells( 1, 1 ):HorizontalAlignment:= -4108 //Centro
oSheet:Cells( 1, 2 ):HorizontalAlignment:= -4131 //Esquerda
oSheet:Cells( 1, 3 ):HorizontalAlignment:= -4152 //Direita
oSheet:Range("A2:M2"):HorizontalAlignment:= -4131 //Esquerda de A2 até M2Código: Selecionar todos
oSheet:Range("A1:M1"):Merge()Código: Selecionar todos
oSheet:Cells:Font:Name := "Times New Roman"
oSheet:Cells:Font:Size := 9Código: Selecionar todos
oSheet:Cells( 1, 5 ):Set( "NumberFormat", "#.##0,00" )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
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
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Re: Exportar para excel com Abas
Esplendido, Espetacular resumindo. Obrigado!
NOTA: Teria como colocar cor?
Marcos Roberto.
NOTA: Teria como colocar cor?
Marcos Roberto.
Marcos Roberto
NetService Software
NetService Software
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Exportar para excel com Abas
Marcos, segue um exemplo:
Cor da letra:
Cor de Preenchimento:
Tabela de cores básicas:
Colocar Bordas:
Abraços,
Cor da letra:
Código: Selecionar todos
oSheet:Cells( 1, 1 ):Font:ColorIndex := 3Código: Selecionar todos
oSheet:Cells( 1, 2 ):Interior:ColorIndex := 7Código: Selecionar todos
Preto = 1
Branco = 2
Azul = 5
Azul Claro = 41
Azul Escuro = 11
Verde = 10
Vermelho = 3
Amarelo = 6
Marron = 53
Violeta = 13
Laranja = 46
Rosa = 7Código: Selecionar todos
oSheet:Range("A2:M10"):Borders(1):LineStyle:= 1
oSheet:Range("A2:M10"):Borders(2):LineStyle:= 1
oSheet:Range("A2:M10"):Borders(3):LineStyle:= 1
oSheet:Range("A2:M10"):Borders(4):LineStyle:= 1Toledo - 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
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
Re: Exportar para excel com Abas
E só agora ele libera a informação pra gente. (eh.eh.eh.)
Eu estava precisando saber como fazer isso tb.
Preciso gerar as planilhas para o funcionário poder fazer as pesquisas dele.
Obrigado Toledo.
Eu estava precisando saber como fazer isso tb.
Preciso gerar as planilhas para o funcionário poder fazer as pesquisas dele.
Obrigado Toledo.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
Re: Exportar para excel com Abas
Só uma pergunta bem simples: Tem alguma documentação com as instruções disso???
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Exportar para excel com Abas
Olá gvc, eu não tenho nenhuma documentação, mas aqui quando preciso de algo novo eu to fazendo o seguinte:
1 - Entro no Excel e abro um arquivo novo.
2 - Depois escolho as opções: Ferramentas / Macro / Gravar nova macro
3 - No nome da macro eu sempre coloco TESTE (pois depois eu acabo nunca salvando a macro e nem o arquivo XLS) e clico no botão Ok.
4 - Depois tudo o que eu fizer no excel, será gravado nesta macro.
5 - Quando eu terminar, mando parar a gravação da macro.
6 - Ai é só entrar em: Ferramentas / Macro / Macros... (Alt+F8), selecione a macro que você gravou (TESTE no caso) e clico no botão Editar.
Ai vai aparecer o código de tudo que você fez durante a gravação da macro.
Abraços,
1 - Entro no Excel e abro um arquivo novo.
2 - Depois escolho as opções: Ferramentas / Macro / Gravar nova macro
3 - No nome da macro eu sempre coloco TESTE (pois depois eu acabo nunca salvando a macro e nem o arquivo XLS) e clico no botão Ok.
4 - Depois tudo o que eu fizer no excel, será gravado nesta macro.
5 - Quando eu terminar, mando parar a gravação da macro.
6 - Ai é só entrar em: Ferramentas / Macro / Macros... (Alt+F8), selecione a macro que você gravou (TESTE no caso) e clico no botão Editar.
Ai vai aparecer o código de tudo que você fez durante a gravação da macro.
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
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
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
Re: Exportar para excel com Abas
Caros,
para exportar de um DBF para excel eu copia campo por campo do meu DBF e vou colocando na XLS, só que quando meu arquivo DBF está muito grande esta operação está ficando demorada demais, existe alguma forma mais rápida de copiar essas informações, talvez linha a linha em vez de campo a campo?
Segue o meu código:
para exportar de um DBF para excel eu copia campo por campo do meu DBF e vou colocando na XLS, só que quando meu arquivo DBF está muito grande esta operação está ficando demorada demais, existe alguma forma mais rápida de copiar essas informações, talvez linha a linha em vez de campo a campo?
Segue o meu código:
Código: Selecionar todos
function trataCamposExcel
local x,mcampo
for x=1 to len(v_est)
mcampo=v_est[x,1]
do case
case v_est[x,2] == "C"
cCell := "'"+alltrim(&mcampo)
case v_est[x,2] == "N"
cCell := &mcampo
case v_est[x,2] == "L"
cCell := if (&mcampo, "Sim", "Näo")
case v_est[x,2] == "D"
cCell := &mcampo
otherwise
cCell := "error"
endcase
oSheet:Cells( linha, x ):Value = cCell
next
return(nil)
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
Re: Exportar para excel com Abas
consegui resolver copiando linha a linha assim: jogo as elulas para um array e depois copio o array todo para a linha do xls
aadd(aRecord,cCell)
next
oSheet:Range(oSheet:Cells(linha,1),oSheet:Cells(linha,len(v_est))):Value := aRecord
aadd(aRecord,cCell)
next
oSheet:Range(oSheet:Cells(linha,1),oSheet:Cells(linha,len(v_est))):Value := aRecord
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
-
pauloa1
- Usuário Nível 3

- Mensagens: 227
- Registrado em: 25 Jun 2008 14:57
- Localização: Augusto Pestana-RS
Re: Exportar para excel com Abas
Olá Toledo!
Show de bola seus exemplos.
vc consegue proteger a planilha gerada?
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Esse código deu ao fazer a sua dica, através da macro, mas não consegui colocar no sistema.
Na verdade eu gostaria que fosse assim.
Quero gerar uma planilha, e que a mesma seja protegida com ou sem senha, "apenas visualização", mas o usuário podendo alterar os dados de apenas uma coluna no caso a "G".
No caso dessa coluna "G" deixa mudar apenas os dados, não alterar configurações dele, tipo "tamanho, fonte etc..."
Depois eu faço uma rotina de importação dessa coluna para o meu sistema.
Paulo
Show de bola seus exemplos.
vc consegue proteger a planilha gerada?
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Esse código deu ao fazer a sua dica, através da macro, mas não consegui colocar no sistema.
Na verdade eu gostaria que fosse assim.
Quero gerar uma planilha, e que a mesma seja protegida com ou sem senha, "apenas visualização", mas o usuário podendo alterar os dados de apenas uma coluna no caso a "G".
No caso dessa coluna "G" deixa mudar apenas os dados, não alterar configurações dele, tipo "tamanho, fonte etc..."
Depois eu faço uma rotina de importação dessa coluna para o meu sistema.
Paulo
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Exportar para excel com Abas
Paulo, como proteger parcialmente uma planilha eu não sei, mas para proteger a planilha toda basta usar o comando:
Abraços,
Código: Selecionar todos
oSheet:Protect("sua_senha")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
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
-
pauloa1
- Usuário Nível 3

- Mensagens: 227
- Registrado em: 25 Jun 2008 14:57
- Localização: Augusto Pestana-RS
Re: Exportar para excel com Abas
Olá Toledo!
Obrigado pela dica, mas essa eu já tinha testado, da o seguinte erro ao executar.
Error 1547476: CELLS/0 S_OK: _VALUE Arguments: ([ 1] =Type: C Val: Codigo)
vc sabe como faço para mandar a celula calculada exemplo: =SOMA(D6:E6) ?
Paulo
Obrigado pela dica, mas essa eu já tinha testado, da o seguinte erro ao executar.
Error 1547476: CELLS/0 S_OK: _VALUE Arguments: ([ 1] =Type: C Val: Codigo)
vc sabe como faço para mandar a celula calculada exemplo: =SOMA(D6:E6) ?
Paulo
