Como exportar dados de um DBGrid para o Excel ?
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]
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
Curtidas 0
Respostas
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
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
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
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
.
.
.
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
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;
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
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
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