Guest Lívio Neiva Postado Agosto 30, 2007 Denunciar Share Postado Agosto 30, 2007 Como exportar / importar dados com Delphi/Excel?exportar / importar dados do Delphi para o Excel e vice-versa.Procedimentos a serem executados:Acrescentei ComObj na cláusula uses da unit da tela FrmCadCliente. Em um botão na tela FrmCadCliente e digite os comandos abaixo:Eu criei essa seguinte procedure;procedure TFrmCadCliente.btnplanilhaClick(Sender: TObject);varpasta : Variant;Linha : Integer;begin inherited;dm.tab_clientes.Filtered := False;Linha :=2;Pasta := CreateOleObject('Excel.Application');Pasta.Caption := 'Cadastro de Clientes';Pasta.Visible := False;Pasta.Cells[1,1] := 'Cliente'; -----------> o erro se encontra akiPasta.Cells[1,2] := 'Cidade';Pasta.Cells[1,3] := 'Fone';dm.Tab_Clientes.DisableControls;tryWhile not dm.Tab_Clientes.Eof dobeginPasta.Cells[Linha,1]:= dm.Tab_ClientesCliNome.Value;Pasta.Cells[linha,2] := dm.Tab_ClientesCliCid.Value;Pasta.Cells[Linha,3] := dm.Tab_ClientesCliNumFone.Value;Linha := Linha + 1;dm.tab_clientes.Next;end;Pasta.Columns.AutoFit;Pasta.WorkBooks[1].Sheets[1].Protect(DrawingObjects := True, Contents:=true,Scenarios := true, Password := '1234');IF SaveDialog1.Execute thenPasta.WorkBooks[1].SaveAs(SaveDialog1.FileName);Pasta.Visible := True;Finallydm.tab_clientes.EnableControls;Pasta := Unassigned;end;end;O sistema compila normalmente, mais quando eu clico no botão btnplanilha p/ execurar os comandos, aparece a seguinte menssagem de erro;( Projetc Sistema.exe raised exception class EOleException with message 'OLE error 800A03EC'. Process stopped. Use Step or Run to continue )há linha de comando q da o erro é;Pasta.Cells[1,1] := 'Cliente';eu clico no OK e compilo novamente e aparece essa outra menssagem de erroOLE error 800A03EC.e os comandos não executa.como faço para corrigir esse problema. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 31, 2007 Denunciar Share Postado Agosto 31, 2007 verifique na se tem declarado na uses ... Excel_TLB, ComObj, ActiveX; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Lívio Neiva
Como exportar / importar dados com Delphi/Excel?
exportar / importar dados do Delphi para o Excel e vice-versa.
Procedimentos a serem executados:
Acrescentei ComObj na cláusula uses da unit da tela FrmCadCliente.
Em um botão na tela FrmCadCliente e digite os comandos abaixo:
Eu criei essa seguinte procedure;
procedure TFrmCadCliente.btnplanilhaClick(Sender: TObject);
var
pasta : Variant;
Linha : Integer;
begin
inherited;
dm.tab_clientes.Filtered := False;
Linha :=2;
Pasta := CreateOleObject('Excel.Application');
Pasta.Caption := 'Cadastro de Clientes';
Pasta.Visible := False;
Pasta.Cells[1,1] := 'Cliente'; -----------> o erro se encontra aki
Pasta.Cells[1,2] := 'Cidade';
Pasta.Cells[1,3] := 'Fone';
dm.Tab_Clientes.DisableControls;
try
While not dm.Tab_Clientes.Eof do
begin
Pasta.Cells[Linha,1]:= dm.Tab_ClientesCliNome.Value;
Pasta.Cells[linha,2] := dm.Tab_ClientesCliCid.Value;
Pasta.Cells[Linha,3] := dm.Tab_ClientesCliNumFone.Value;
Linha := Linha + 1;
dm.tab_clientes.Next;
end;
Pasta.Columns.AutoFit;
Pasta.WorkBooks[1].Sheets[1].Protect(DrawingObjects := True, Contents:=true,
Scenarios := true, Password := '1234');
IF SaveDialog1.Execute then
Pasta.WorkBooks[1].SaveAs(SaveDialog1.FileName);
Pasta.Visible := True;
Finally
dm.tab_clientes.EnableControls;
Pasta := Unassigned;
end;
end;
O sistema compila normalmente, mais quando eu clico no botão btnplanilha
p/ execurar os comandos, aparece a seguinte menssagem de erro;
( Projetc Sistema.exe raised exception class EOleException with message 'OLE error 800A03EC'. Process stopped. Use Step or Run to continue )
há linha de comando q da o erro é;
Pasta.Cells[1,1] := 'Cliente';
eu clico no OK e compilo novamente e aparece essa outra menssagem de erro
OLE error 800A03EC.
e os comandos não executa.
como faço para corrigir esse problema.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.