Exportar Informes hechos en CLIPPER a CSV

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

victorale07
Usuário Nível 2
Usuário Nível 2
Mensagens: 67
Registrado em: 20 Ago 2009 19:55
Localização: chile

Exportar Informes hechos en CLIPPER a CSV

Mensagem por victorale07 »

Hola a todos:

Quisiera que alguien me ayudara como puedo exportar algunos informes hechos en CA-CLIPPER a un acrhivo con extención .CSV; cuales son sus codigos internos para poder generar este archivo.-


Muchas gracias.-
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Exportar Informes hechos en CLIPPER a CSV

Mensagem por Jairo Maia »

Olá Victor,

Um arquivo .CSV é um arquivo texto que contém informações de tabela, com os campos separados por vírgulas:
&nbspCódigo&nbsp&nbspNome&nbsp&nbspCidade&nbsp&nbspEstado&nbsp&nbspPaís&nbsp
&nbsp0001&nbsp&nbspJairo Maia&nbsp&nbspCampinas&nbsp&nbspSão Paulo&nbsp&nbspBrasil&nbsp
&nbsp0002&nbsp&nbspVictor&nbsp&nbspNão Informada&nbsp&nbspVictor, "não" informou&nbsp&nbspChile&nbsp
A tabela acima, pode ser representada em arquivo texto desta forma:

Codigo,Nome,Cidade,Estado,Pais
0001,Jairo Maia,Campinas,São Paulo,Brasil
0002,Victor,Não Informada,"Victor, ""não"" informou",Chile


Qual é exatamente sua idéia? É exportar um banco de dados para um arquivo .CSV, ou adicionar dados a um arquivo .CSV existente?
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Exportar Informes hechos en CLIPPER a CSV

Mensagem por fladimir »

Vitor tal vez el ejemplo más abajo resolva su problema

Código: Selecionar todos

proc main
   use produto.dbf
   copy to teste.csv delimited with ({chr(34), ";"})  // genera un archivo con los campos entre comillas y separados por punto y coma
return nil
De no resuelto, mira el comando "COPIAR TO" con varios parámetros que creo que el trabajo.

Abrazos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Exportar Informes hechos en CLIPPER a CSV

Mensagem por Jairo Maia »

Olá Pessoal,

O exemplo postado pelo colega Fladimir, retorna o arquivo separado por ponto-e-vírgula. Como normalmente arquivos .CSV são gerados para abrir pelo Excel, eu sugiro a seguinte alteração:

Código: Selecionar todos

Function Main()

 Use Produtos.dbf
 Copy To TESTE.CSV Delimited With ( { "", "," } )

Return Nil
O outro problema, é que o Excel lê corretamente caracteres acentuados somente se o arquivo estiver no formato ANSI. Em Harbour, basta tratar como abaixo, porém em Clipper, não sei qual a equivalência:

Código: Selecionar todos

Arquivo := HB_OemToAnsi( MemoRead( "TESTE.CSV" ) )
MemoWrit( "TESTE.CSV", Arquivo )
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
victorale07
Usuário Nível 2
Usuário Nível 2
Mensagens: 67
Registrado em: 20 Ago 2009 19:55
Localização: chile

Exportar Informes hechos en CLIPPER a CSV

Mensagem por victorale07 »

Hola:

Les agradesco a todos por su respuesta, por lo que veo basta con emitir un archivo de texto (.txt) y cambiar la extención a (.CSV) e internamente se separaran con ; los campos o variables que se emitan, o exportar una base de datos con la instruccion COPY TO.-

Existen algunas instrucciones adicionales?, como por ejemplo, dar un ancho predeterminado a cada celda, etc...,
ya que hice unas prueba y mantienen un ancho original para todas las celdas.-


gracias.

Victor
Responder