Como exportar dados de um DBGrid para o Excel ?

Delphi

19/09/2003

Por favor, alguem pode me ajudar ???

Eu gostaria de exportar dados do meu dbgrid para uma planilha do excel.... será que alguem sabe como fazer isso ???

Eu já recebi algumas dicas mas nenhuma fincionou...

agradeço a todos..

abraços

[i:b2c402ba3f]Título em maiúsculas editado (isso equivale a gritar, vide [url]http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689[/url]) - [b:b2c402ba3f]marcelo.c[/b:b2c402ba3f] - Moderador[/i:b2c402ba3f]


Diego

Diego

Curtidas 0

Respostas

Henry Lima

Henry Lima

19/09/2003

Eu tenho um componente que funciona muito bem, ele exporta dados de um dataset para o excel, e ainda permite formatar a fonte, tamanho da célula e outras opções... entre em contato comigo que eu mando o componente para você.


GOSTEI 0
Motta

Motta

19/09/2003

tem uma fucntion minha (meio tosca) no site do joao morais

http://www.joaomorais.com.br/pascal/download.php?cat=101

gridtoexcel

é um pouco lenta pois leva os atributos do grid (coluna cor etc) para o excel, tenho outra um pouco melhor que leva o dataset para um excel se quiser te mando por mail


GOSTEI 0
Skaarj

Skaarj

19/09/2003

uses ComObj;
.
.
.
var
Excel:variant;
Linha: integer;
begin
linha:=1;
Excel=CreateOleObject(´Excel.application´);
Excel.Visible :=True;
Excel.WorkBooks.Open(´c:\windows\desktop\execel.xls´);
while not suaTable.eof do
begin
Excel.WorkBooks[1].Sheets[1].Cells[Linha,2]:=suaTableSEUCAMPO.asstring;
suaTable.Next;
linha:=linha+1;
end;

Se precisar de ajuda entre em contato


GOSTEI 0
Ljr

Ljr

19/09/2003

Vc ja tentou este codigo... Note que dever existir uma planilha de modelo, com o nome de GERAR.xls, e na clausula USES inserir a unit COMOBJ.


var
Excel : Variant;
Linha:Integer;
begin
Excel := CreateOleObject(´Excel.Application´);
Excel.Visible :=True;
{Excel.Workbooks.Add;}
Excel.WorkBooks.Open(´\\SERVIDOR\Cotacao\Gerar.xls´);
Excel.WorkBooks[1].Sheets[1].Cells[2,7]:=Now;
Excel.WorkBooks[1].Sheets[1].Cells[3,2]:=DMCotacao.TBLiberaRemetente.Value;
Excel.WorkBooks[1].Sheets[1].Cells[3,5]:=DMCotacao.TBLiberaColeta.Value +
´-´ +DMCotacao.TBLiberaUF_Coleta.Value;
Excel.WorkBooks[1].Sheets[1].Cells[4,2]:=DMCotacao.TBLiberaDestinatario.Value;
Excel.WorkBooks[1].Sheets[1].Cells[4,5]:=DMCotacao.TBLiberaDestino.Value +
´-´ +DMCotacao.TBLiberaUF_Destino.Value;
Excel.WorkBooks[1].Sheets[1].Cells[5,2]:=DMCotacao.TBLiberaQuantidade.AsString;
Excel.WorkBooks[1].Sheets[1].Cells[5,5]:=DMCotacao.TBLiberaFreteEmpresa.AsString;
Excel.WorkBooks[1].Sheets[1].Cells[5,7]:=DMCotacao.TBLiberaContrato.AsString;
Excel.WorkBooks[1].Sheets[1].Cells[6,2]:=FormCTEmbarque.Edit2.Text;
Excel.WorkBooks[1].Sheets[1].Cells[6,5]:=FormCTEmbarque.Edit3.Text;
Excel.WorkBooks[1].Sheets[1].Cells[6,7]:=FormCTEmbarque.Edit4.Text;
Excel.WorkBooks[1].Sheets[1].Cells[7,2]:=DMCotacao.TBLiberaObservacao.Value;
DmCotacao.QCTEmbarque.Open;
Linha:=10;
While not DMCotacao.QCTEmbarque.Eof do
Begin
Excel.WorkBooks[1].Sheets[1].Cells[Linha,2]:=DMCotacao.QCTEmbarqueCTRC.Value;
Excel.WorkBooks[1].Sheets[1].Cells[Linha,3]:=DMCotacao.QCTEmbarqueNotaFiscal.Value;
Excel.WorkBooks[1].Sheets[1].Cells[Linha,4]:=DMCotacao.QCTEmbarquePeso.Value;
Excel.WorkBooks[1].Sheets[1].Cells[Linha,5]:=DMCotacao.QCTEmbarquePlaca.Value;
Excel.WorkBooks[1].Sheets[1].Cells[Linha,6]:=DMCotacao.QCTEmbarqueData.Value;
DmCotacao.QCTEmbarque.Next;
Linha:=Linha+1;
end;
Excel.WorkBooks[1].SaveAs(´\\SERVIDOR\Cotacao\Controle.xls´);
DMCotacao.TBCotacao.Refresh;
end;


GOSTEI 0
Luis Paulo

Luis Paulo

19/09/2003

Bom Dia!

Por favor preciso muito desse componente já tentei outros caminhos mas como tenho muitos registros tem que ser um melhorzinho senão trava, poderia me enviar?
Agradeço se puder me ajudar.


Zafa
GOSTEI 0
POSTAR