Fórum Exportar tabela para Excel... #213864
13/02/2004
0
Grato da ajuda!
Geronildojr
Curtir tópico
+ 0Posts
13/02/2004
Lucas Silva
uses ComObj; . . . procedure TForm1.Button1Click(Sender: TObject); var excel: variant; begin excel := CreateOleObject(´Excel.Application´); excel.Workbooks.add(1); excel.Cells.Select; excel.Selection.NumberFormat := ´@´; excel.cells[1,1] := ´Teste´; excel.columns.AutoFit; excel.cells[1,1].Select; excel.visible := true; end;
Lucas!
Gostei + 0
13/02/2004
Geronildojr
Agora como faço para exportar para o excel o conteúdo de um DBGrid?
Grato pela ajuda!
Gostei + 0
13/02/2004
Lucas Silva
for i:= 0 to query.recordCount - 1 do aqui vc joga o código de exportação
Qualquer dúvida me dá o toque ae....
Gostei + 0
13/02/2004
Geronildojr
[b]Código:[/b]
procedure T_main.Button1Click(Sender: TObject);
var excel: variant;
begin
for i:= 0 to Q_Consulta.recordCount - 1 do
begin
excel := CreateOleObject(´Excel.Application´);
excel.Workbooks.add(1);
excel.Cells.Select;
excel.Selection.NumberFormat := ´@´;
excel.cells[1,1] := ´teste´;
excel.columns.AutoFit;
excel.cells[1,1].Select;
excel.visible := true;
end;
end;
[b]Erro:[/b]
[Warning] Main.pas(1179): For loop control variable must be simple local variable
[Fatal Error] Main.pas(1191): Internal error: C1051
Gostei + 0
13/02/2004
Bolus
Observando o código fornecido, falta declarar na seção VAR a variavel I, utilizada no Laço FOR .
Seu código esta assim:
procedure T_main.Button1Click(Sender: TObject); var excel: variant; begin for i:= 0 to Q_Consulta.recordCount - 1 do begin excel := CreateOleObject(´Excel.Application´); excel.Workbooks.add(1); excel.Cells.Select; excel.Selection.NumberFormat := ´@´; excel.cells[1,1] := ´teste´; excel.columns.AutoFit; excel.cells[1,1].Select; excel.visible := true; end; end;
deverá ficar assim :
procedure T_main.Button1Click(Sender: TObject); var excel: variant; i : Integer; begin for i:= 0 to Q_Consulta.recordCount - 1 do begin excel := CreateOleObject(´Excel.Application´); excel.Workbooks.add(1); excel.Cells.Select; excel.Selection.NumberFormat := ´@´; excel.cells[1,1] := ´teste´; excel.columns.AutoFit; excel.cells[1,1].Select; excel.visible := true; end; end;
Gostei + 0
13/02/2004
Geronildojr
Só que acontece o seguinte: Como a query de consulta (Q_Consulta) encontra 2 registros (do qual fiz a consulta com os critérios e tal), então o aplicativo abre 2 planílias (excel) exibindo na linha 1 coluna 1 ´Teste´ e não o conteúdo do DBGrid. Creio que se a query encontrar 1000 registros, lascou tudo: 1000 planílias serão abertas.
Grato pela ajuda!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)