Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EderDias

Exportar DbGrid pra excel

Recommended Posts

Ola..pessoal..

 

eu peguei este codigo na Net e não estou sabendo chama-lo(executar) :unsure:

 

Neste exemplo vamos criar um procedimento genérico que vai exportar o resultado de uma query para o excel.

 

procedure pExportarDadosExcel(Query : TQuery);

var

Excel : Variant;

Linha, i : Integer;

begin

if not Query.IsEmpty then

begin

Query.First;

Excel := CreateOleObject('Excel.Application');

Excel.Visible := True;

Excel.Workbooks.Add;

Linha := 1;

for i := 0 to Query.FieldCount - 1 do

Excel.WorkBooks[1].Sheets[1].Cells[Linha,i+1] := Query.Fields.DisplayName;

Linha := 2;

While not Query.Eof do

Begin

for i := 0 to Query.FieldCount - 1 do

Excel.WorkBooks[1].Sheets[1].Cells[Linha,i+1] := Query.Fields.Value;

Query.Next;

Linha:=Linha+1;

end;

end;

end;

Mto Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas o que acontece ? Algum erro ? Não faz nada ? Como esta a sua query que chama o procedimento ? R.: oba Marcio, pois é....eu não sei trabalhar com este codigo....poderias me dizer como trabalhar com esta dica(procedure)?O que eu to querendo é exportar dados de um DbGrid (conSulta) pra um arquivo XLS.Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo o que vi do fonte, basta passar via parâmetro para a procedure a sua query, digamos que o nome da sua query é qryTeste, basta fazer:

pExportarDadosExcel(qryTeste);

R.: beleza..Marcio.

mas tava a continuar a testar mais deu erro nesta linha:

 

pExportarDadosExcel(qryTeste);
[Error] Unit1.pas(62): Undeclared identifier: 'CreateOleObject'

 

é algum componente que esta faltando?? no meu delphi4 não achei.....

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Declare no Uses o seguinte ComObj

R. Marcio....compilou, porem ao executar deu erro:

raised exception class EOleSysError sequencia de classe invalida

:(

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

você têm o excel instalado neste micro ?

R.: opa...desculpa a demora em responder, estava fora ......

pois é amigão...eu não tinha o excel na maquina que eu tava testanto mesmo..ai testei numa que tinha..mas deu erro logo no inicio da conversão dos dados...ou seja...qdo aparece o primeiro dado(valor da dbgrid) da erro nesta linha:

Excel.WorkBooks[1].Sheets[1].Cells[Linha,i+1] := Query.Fields[i].Value;
erro:excepetion class EaccessVioation

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, a linha aparentemente esta correta, teria como colocar o procedimento que esta usando agora ?Desde a criação até o momento de salvar ?Teria como rodar passo-a-passo para saber a linha do exception ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, a linha aparentemente esta correta, teria como colocar o procedimento que esta usando agora ?Desde a criação até o momento de salvar ?Teria como rodar passo-a-passo para saber a linha do exception ?

R> BOM..na verdade não tem nada de diferente..eu apenas faço a consulta na query de um cadastro de clientes....(consulta simples)e o resultado sai na DBgrid ai logo em seguida em click no botão que deveria converter
procedure TForm1.Button2Click(Sender: TObject);beginpExportarDadosExcel(query1);end;
:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal, sou novo por aqui mas gostaria muito de uma ajuda...

 

Creio que a resposta seja negativa, já que rodei toda a internet atras de uma solução e ate agora so encontrei furada...

 

Seguinte.. estou atras de uma forma de exportar dados para o Excel (Office) ou Calc (OpenOffice) (formato .xls)..

 

Já encontrei algumas coisinhas, mas todas tem a necessidade do Office (Excel) instalado na máquina...

 

Alguem ai tem alguma ideia ou dica?

 

Obs.: Preciso de algumas funcionalidades de formatação dentro do Excel

* Fontes(tipo, negrito, sublinhado, italico, tamanho)

* Bordas

* Ajuste do tamanho das celulas

* Utilização de formulas da planilha..

 

Outro detalhe é que o arquivo deve ser gerado a partir do Delphi 7.0

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.