Como exportar DBGrid em Delphi com Separador
Nesta Quick Tips, mostrarei como podemos exportar para um arquivo texto, separado por qualquer caractere, os registros encontrados em um DBGrid.
Olá galera, nesta Quick Tips, mostrarei como podemos exportar para um arquivo texto, separado por qualquer caractere os registros encontrados em um DBGrid.
Vamos então criar uma nova aplicação e salvar seu formulário como uFrmPrincipal.pas, já mude seu nome para FrmPrincipal, e salve o projeto como prjExportarDBGrid.dprj.
Agora adicione:
- 1 TButton (BtnIniciarImportacao)
- 1 TDBGrid (DBGridCliente)
- 1 TClientDataSet (CDSCliente, estou usando um CDS temporário )
Vamos inicialmente criar uma procedure:
procedure ExportarDBGrid (const xCaracter: String);
unit uFrmPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, DBClient, ExtCtrls, DBCtrls, StdCtrls, Mask,
ShellAPI;
type
TFrmPrincipal = class(TForm)
CDSCliente: TClientDataSet;
DSCliente: TDataSource;
DBGridCliente: TDBGrid;
CDSClienteIDCliente: TStringField;
CDSClienteDescricao: TStringField;
CDSClienteSexo: TStringField;
CDSClienteEndereco: TStringField;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
DBNavigator1: TDBNavigator;
BtnIniciarImportacao: TButton;
private
{ Private declarations }
procedure ExportarDBGrid(const xCaracter : String);
public
{ Public declarations }
end;Vejamos a implementação desta procedure, mas antes disso vamos dar uses em ShellAPI, e logo vocês vão ver o motivo.
procedure TFrmPrincipal.ExportarDBGrid(const xCaracter: String);
Var
I : Integer;
xArquivoTxt : TStringList;
xLinhaCompleta : String;
begin
xArquivoTxt := TStringList.Create;
while not DBGridCliente.DataSource.DataSet.Eof do
begin
xLinhaCompleta := '';
for I := 0 to DBGridCliente.Columns.Count - 1 do
begin
xLinhaCompleta := xLinhaCompleta +
DBGridCliente.Columns[I].Field.AsString + xCaracter;
end;
DBGridCliente.DataSource.DataSet.Next;
xArquivoTxt.Add(xLinhaCompleta);
end;
xArquivoTxt.SaveToFile('C:\arquivo.txt');
{ O motivo para termos dado uses em ShellAPI , foi para que pudéssemos
abrir diretamente o arquivo txt, usando a função ShellExecute }
ShellExecute(handle,'open',PChar('C:\arquivo.txt'), '','',SW_SHOWNORMAL)
end;Agora vamos ver como usar nossa função
procedure TFrmPrincipal.BtnIniciarImportacaoClick(Sender: TObject);
begin
ExportarDBGrid(';');
end;Fico por aqui e ate à próxima Quick Tips. Baixe o exemplo completo neste post.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo