Clipper On Line • Ver Tópico - Gerar relatorio para o EXCEL

Gerar relatorio para o EXCEL

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

Gerar relatorio para o EXCEL

Mensagempor pjtb » 15 Mai 2007 09:52

Bom dia a todos!!!!


Gostaria de saber como faço para gerar no meu programa relatorios para abrir no EXCEL...


Antecipo Agradecimento...
pjtb
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 28
Data de registro: 02 Ago 2004 12:08
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor gvc » 15 Mai 2007 11:19

Vc pode gerar o relatório no texto e importar para o excell.
Pode gerar como campo delimitado e importar.

Mas tb pode:

http://www.pctoledo.com.br/forum/viewtopic.php?t=4672

(Este ultimo eu achei fantástico!)

Veja se ajuda. Boa sorte.
"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}
Avatar de usuário

gvc
Colaborador

Colaborador
 
Mensagens: 1269
Data de registro: 23 Ago 2005 10:57
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Augusto » 15 Mai 2007 15:28

Bem... eu já faço diferente... eu crio um DBF temporário com os campos do relatorio e gravo ele com a extenção XLS... e aí é só abrir no EXCEL...

No meu sistema de CONTABILIDADE todos os relatórios (balanço, balancete, razão etc) tem a opção de imprimir na tela, no papel em formato original, em arquivo ou gerar um arquivo XLS...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar de usuário

Augusto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 465
Data de registro: 26 Ago 2003 17:50
Cidade/Estado: Maricá/RJ
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Mensagempor ederxc » 15 Mai 2007 16:45

Hey GVC , é bom para quem entende de HTML , né ! Heeheheh té+++
C:\Xharbour\Xdev\Fw\VSX
ederxc
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 613
Data de registro: 15 Set 2006 08:40
Cidade/Estado: Pedreira -SP-
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor gvc » 16 Mai 2007 10:09

Por favor, não matem o mensageiro.

Eu só postei a informação que tenho.
Achei a idéia fantastica e ela funciona realmente.

Mas o que importa é saber se o nosso amigo pjtb conseguiu a resposta que resolvesse o problema.
"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}
Avatar de usuário

gvc
Colaborador

Colaborador
 
Mensagens: 1269
Data de registro: 23 Ago 2005 10:57
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Pablo César » 17 Mai 2007 11:15

Como disse o colega GVC, pode ser gerado arquivo texto, e ainda chamar a planilha dreto no Excel. Desta forma o proprio Excel, se encarrega de interpretar o arquivo. O arquivo deverá ser gerado com extensão .CSV e cada coluna/campo deverá ser separada através de "," (vírgula).

Hehe... essa questão da vírgula me faz lembrar quando cheguei ao Brasil e comecei numa escola brasileira por primeira vez e ainda na primeira aula que tive, foi diretamente a aula de português.... meu !! que difícil que é o nosso português... lembro que nesse dia a professoa disse:

- Pablo, vem cá nessa primeira cadeira da frente, para você será melhor e para mim poderei te acompanhar de perto. (não porque eu tenha sido capeta na classe... hehe).

Então ela começou um DITADO. E me disse que eu escrevesse do jeito que eu entendia... (imagine só !) O ditado começava assim:

Joãozinho, (vírgula)

Daí eu escreví: YOACIÑO VIRGULA (quando eu escriví a palavra VÍRGULA) ela deu um grito, e disse: Pablo, não é para você escrever á palavra vírgula (e ela mostrou gráficamente no quadro o que representava aquela tal de VÍRGULA), a turma toda da sala riu pacarambas.... hehehe desculpem pessoal, fugir um pouco do tema... é que as vezes vem boas lembranças... Imagem voltando... ao tema:

Depois é só chamar o Excel (com o path completo), claro que para isto tem que ser guardado o caminho onde o Excell estiver instalado (geralmente é default o caminho). Ahhh lembrando que pode ser colocado na 1ª linha o cabeçalho de cada coluna. Geralmente começo gerar o arquivo com "??" para não deixar nenhuma linha em branco no começo do arquivo. Outra coisa que é relevante, é "traduzir" os caracteres que estão no BD (banco de dados) que foram gravados no padrão DOS e precisam ser convertidos no padrão WINDOWS. Pra isso utilizo a minha função que está disponível em Clique aqui pra ver esta função a incorporo na hora de gerar, por exemplo:

SET ALTERNATE TO (VPAT_DOC+"\COPIAS.CSV")
SET ALTERNATE ON
?? "Nº COPIAS,TITULO,CATEGORIA,GENERO"
DO WHILE QFAZ="COP" .AND. (1->(!EOF()))
   VQC:=CONTA_COP(COD_TIT,VQFAZ)
   IF VQC>=VNCOP  .AND. VCPODE1(VQFAZ,(1->COD_TIT))=.T.
      VPRO:=WINCAR(ALLTRIM(QPROM1(1->PROMOCAO)))
      VGEN:=WINCAR(ALLTRIM(QGEN1(1->GENERO)))
      VTIT:=WINCAR(ALLTRIM(1->TITULO))
      ? STR(VQC,2,0)+","+VTIT+","+VPRO+","+VGEN
   ENDIF
   SKIP
ENDDO
SET ALTERNATE OFF
SET ALTERNATE TO
ALERT("Arquivo "+CHR(34)+"COPIAS.CSV"+CHR(34)+" gerado com sucesso na pasta:;;"+VPAT_DOC)


Caso que não seja aberto em Excel na hora, eu aviso ao usuário que está disponível no VPAT que é a variavel onde irá gravar que geralmente é em "Meus documentos". Esses caminhos poderão serem obtidos previamente atarvés da função GETSYSTEMINFO do WAPI do colega Maligno.

Bem tudo depende da vontade de fazer as coisas. Mas eu não vejo problemas sobre isso.

Um clip-abraço :)Pos
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Mensagempor Augusto » 17 Mai 2007 11:27

Tá tudo bem Pablo...
Mais já que vc teve problemas com a "vírgula", prq não abrir um DBF renomeado para XLS diretamente no EXCEL ???

Prq tanto trabalho de montar um arquivo texto separado por vírgulas etc se o EXCEL lê um DBF até mesmo sem ser renomeado ??

Eu só queria entender....
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar de usuário

Augusto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 465
Data de registro: 26 Ago 2003 17:50
Cidade/Estado: Maricá/RJ
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Mensagempor Pablo César » 17 Mai 2007 11:37

Sim, você está certo Augusto. Eu esquecí de mencionar isso também. Na minha mala direta, eu crio um DBF com os campos que o usuário seleciona e disponibiliza esse arquivo.DBF naquele VPAT_DOC (Meus documentos) e abro também em Excel direto.

You are right, Augusto !. Desculpas, não quis sobrepujar nehuma idéia, simplesmente fiz menção. Assim como o GVC disse:

Calma ! Não matem o mensageiro. Essa... foi boa ! (isso acontence muito aqui) Imagem

Obs.: Mas atenção... deve criar o arquivo, para que não dê problemas de compartilhamento e criando o arquivo no (Meus Documentos) do C:, evita utdo isso.

Augusto escreveu:abrir um DBF renomeado para XLS
Mas essa, é boa !. Realmente nessa, nunca pensei. Valeu Augusto, obrigado pela contribuição !.

Um clip-abraço :)Pos
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Gerar arquivo texto CSV para o EXCEL - Correção

Mensagempor Pablo César » 06 Mai 2009 14:31

Desculpem estar ressucitando este tópico... mas que achei algumas variantes sobre o tema de gerar arquivos textos CSV para ser interpretados pelo MS-Excel. O bom de tudo isto, que farei referência em todos os links (ver relação abaixo no final desta mensagem) onde eu menciono que precisa separar os dados que irão em cada coluna através da "," vírgula, sendo que muitas vezes é o ponto e vírgula ";". Tudo dependerá de como estiver nas "Configurações Regionais" no Painel de Controle. Então... tudo dependerá qual é o caracter separador de lista estiver configurado. Depende do país e da personalização de cada usuário/computador. Então alguém vai perguntar: mas como consigo saber qual é caracter separador ?

Não sei se tem algum aplicativo ou biblioteca que me forneça esta informação. Mas tudo indica que essa informação está no REGISTRY do Windows. Portanto para quem quiser saber qual é a chave e campo a ser consultada é:

HKEY_CURRENT_USER\Control Panel\International\sList

Esta chave, parece não ser diferente para as versões do Windows, isto é para WIN98 e WINXP é o mesmo caminho. Então essa informação pode ser obtida com o aplicativo/biblioteca WAPI que o Maligno fez para todos nós. A função que lê a chave do registro, tem dois exemplos abaixo:

cSeparator:=ReadWReg("HKEY_CURRENT_USER\Control Panel\International","sList")[1,3]

ou

RUN WAPI -READREGISTRY:"HKEY_CURRENT_USER\Control Panel\International";sList;RESULTA.TXT
cSeparator:=RIGHT(MEMOREAD("RESULTA.TXT"),1)

Desta forma obteremos a informação precisa antes de gerar o arquivo, conforme a configuração regional.

Minhas mensagens onde mencionam vírgula como separador de lista (link adicionado para futura interpretação):
viewtopic.php?f=1&t=8383&p=47096&hilit=CSV#p47096
viewtopic.php?f=1&t=9019&p=50925&hilit=CSV#p50925

Espero ter esclarecido melhor e ter sido útil para alguém.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Re: Gerar relatorio para o EXCEL

Mensagempor asimoes » 12 Mai 2009 14:39

Olá Amigos,

Veirifiquem o post que fiz.

http://www.pctoledo.com.br/forum/viewtopic.php?f=1&t=4672

[]´s
►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

Gerar relatorio para o EXCEL

Mensagempor Pablo César » 12 Mai 2009 19:33

Asimoes, eu não me incomodo se alguém apresentar alguma solução melhor que a que eu tinha postado, pelo contrário, aceito numa boa. Digo isto porque você colocou outra solução para criar XLS em outro tópico, na minha opinião desnecessário pois podia ter continuado aqui. Demais, gostei muito a sua apresentação do colega venezolano. Tentarei entender melhor o código, pois melhor que CSV é XLS sem dúvidas, assim não apresenta problemas quando abrir em diferentes PCs. Isto é, XLS irá ser sempre o mesmo. Ja o CSV dependerá do separador. A minha outra intenção vai ser tentar formatar melhor as colunas, isto é, deixar no tamanho máximo de exbição. Mas ainda não mergulhei no código.
O código pode ainda ser adaptado para ler diretamente do DBF e deixar de utilizar a matriz aData, porque em casos de registros muito extensos iria ficar impossibilitado pela limitação de memória. Se alguém souber e queira da uma dica para formatar a largura das coluna... (não deve ser fácil) bem vindo !

Mas valeu Asimoes, obrigado pela sua contribuição. Eu apenas tinha encontrado um furo nas minhas instruções sobre a criação de arquivo texto CSV e não quis deixar em branco, pois a questão do separador eu não sabia que dependia das configurações regionais.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Re: Gerar relatorio para o EXCEL

Mensagempor asimoes » 12 Mai 2009 20:24

Olá Pablo,

Quem sou eu em querer apresentar algo melhor no forúm, sou apenas um humilde contribuidor, e quanto ao tópico eu não tinha visto que tinha este aqui, o ideal seria mesclar os dois que estão falando do mesmo assunto.
De qualquer forma desculpe.

[]´s
►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

Gerar relatorio para o EXCEL

Mensagempor Pablo César » 12 Mai 2009 20:27

No problem, colega ! Inclusive essa solução apresentada realmente eu acho melhor ! Você por acaso onde obteve esse código (talvez FiveWin ?) tinha como formatar largura de colunas ou até mesmo fontes ?

Quanto aos dois tópico acho que de alguma certa forma você ja os uniu ao publicar o link. Mas não esquenta vão ser úteis as duas opções de qualquer forma.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Re: Gerar relatorio para o EXCEL

Mensagempor asimoes » 13 Mai 2009 10:17

Olá Pablo,

Este código eu tenho desde 1999, mas só usei em uma rotina de um sistema. O meu cliente queria que alguns dados fossem gerados para o excel para ele fazer alguns planejamentos. Este código não tem documentação, mas dá pra enteder o que o venezuelano quis fazer. Eu tenho um outro bem mais completo, inclusive tem uma lib, mas
foi feito para fivewin, se quiserem eu publico aqui.

[]´s
►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

Re: Gerar relatorio para o EXCEL

Mensagempor anacatacombs » 13 Mai 2009 11:32

Bom dia...

asimoes escreveu:(...) Eu tenho um outro bem mais completo, inclusive tem uma lib, mas
foi feito para fivewin, se quiserem eu publico aqui.


Eu gostaria ...

[]'s

Ana
anacatacombs
Membro Master

Membro Master
 
Mensagens: 472
Data de registro: 12 Jul 2005 16:53
Cidade/Estado: Cianorte-Paraná
Curtiu: 2 vezes
Mens.Curtidas: 2 vezes

Próximo



Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 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