Exportar um dataset para CSV

19/08/2004

0

Estou precisando exportar um dataset para um arquivo texto tipo CSV. Normalmente, uso para isso o componente PgCSV que funciona bem. Só que dessa vez preciso incluir o nome dos campos no cabeçalho do arquivo texto, já que o mesmo será usado como origem de dados de um documento de mesclagem no Word. Andei olhando outros componentes, mas nenhum me agradou (um não instalou, outros só funcionam com BDE, etc). Alguma sugestão de como posso fazer isso? Talvez quem conheça o componente PgCSV possa me sugerir alguma alteração no mesmo para habilitar essa opção, já que ele é freeware e com fontes. É possível pegá-lo num desses sites [url]http://delphi.icm.edu.pl/[/url] ou [url]http://www.torry.net/[/url]. Quem puder me ajudar, ficarei grata, pois tenho urgência nisso.


Gandalf.nho

Gandalf.nho

Responder

Post mais votado

20/08/2004

Colega,

Abaixo, montei um algoritmo para gerar um arquivo texto usando como separador o ´;´ e cabeçalho, testei com DBDemos (customer.db) e importei normalmente no Excel. Basta refinar para incorporar à sua necessidade:

var Arquivo: TextFile;
    nX, nY: SmallInt;
    Cabecalho: TStringLIst;
    LinhaDados: String;
begin

  Cabecalho := TStringList.Create;

  AssignFile(Arquivo, ´c:\temp.txt´);
  ReWrite(Arquivo);
  Table1.Open;

  Cabecalho := Table1.FieldList;
  nY := Cabecalho.Count-1;

  LinhaDados := ´´;
  For nX := 0 to nY do
  begin
    LinhaDados := LinhaDados + Cabecalho.Strings[nX] + ´;´;
  end;

  WriteLn(Arquivo, LinhaDados);

  nY := Table1.FieldCount-1;

  while not table1.Eof do
  begin

    LinhaDados := ´´;
    For nX := 0 to nY do
    begin
      LinhaDados := LinhaDados + Table1.FieldByName(Cabecalho.Strings[nX]).AsString+´;´;
    end;
    WriteLn(Arquivo, LinhaDados);

    table1.Next;
  end;

  Cabecalho.Free;
  CloseFile(Arquivo)
end;



Aroldo Zanela

Aroldo Zanela
Responder

Mais Posts

19/08/2004

Uildenei

uma sugestao eh vc pegar o arquivo gerado e inserir uma linha de cabecalho com os nome dos campos jah que sao separados por virgula

com um assignfile ou carga pra dentro de um memo ou algo parecido ...


Uildenei


Responder

25/08/2004

Gandalf.nho

Obrigada pelas dicas


Responder

02/09/2015

Robson Morais

muito util.....
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar