EderDias 0 Denunciar post Postado Setembro 13, 2007 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
marcio.theis 3 Denunciar post Postado Setembro 13, 2007 Mas o que acontece ? Algum erro ? Não faz nada ? Como esta a sua query que chama o procedimento ? Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Setembro 14, 2007 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
marcio.theis 3 Denunciar post Postado Setembro 14, 2007 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); Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Setembro 17, 2007 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
marcio.theis 3 Denunciar post Postado Setembro 17, 2007 Declare no Uses o seguinte ComObj Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Setembro 20, 2007 Declare no Uses o seguinte ComObjR. 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
marcio.theis 3 Denunciar post Postado Setembro 20, 2007 você têm o excel instalado neste micro ? Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Outubro 9, 2007 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
marcio.theis 3 Denunciar post Postado Outubro 9, 2007 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
EderDias 0 Denunciar post Postado Outubro 11, 2007 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
IDDPioneer 0 Denunciar post Postado Outubro 12, 2007 Você pode tentar jogar os resultados ao mesmo tempo para o DBgrid e para o Excel, fica mais rápido e fácil, se precisar eu tenho o código aqui. Compartilhar este post Link para o post Compartilhar em outros sites
Luiz Gustavo Montanha 0 Denunciar post Postado Janeiro 30, 2008 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