Eder Postado Setembro 12, 2007 Denunciar Share Postado Setembro 12, 2007 (editado) movido deste tópico: Probleminha Com Dbgrid X Componente Prtgrid_________________________________________________________________haaaa..Jonas você conhece uma outra maneira de exportar conteudo de um dbgrid pra xls??Grato Editado Setembro 13, 2007 por Micheus Tópico desmembrado de outro, com autorização do autor (Eder) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 12, 2007 Denunciar Share Postado Setembro 12, 2007 Vai ai uma dica: exportar conteudo de um dbgrid pra xlsprocedure TForm1.BitBtn1Click(Sender: TObject); var FileName : String; begin if Application.MessageBox(\'Confirma a geração da planilha?\',\'Confirmação\',mb_YesNo) = mrYes then begin Query1.First; begin If SaveXls.Execute then begin With mxNativeExcel1 Do begin NewFile; FileName := SaveXls.filename; AddFont( bitbnt1.Font ); ActiveFont := 0; Row := 1; WriteLabel( Row, 1, \'campos\'); WriteLabel( Row, 2, \'campos\' ); WriteLabel( Row, 3, \' campos \' ); WriteLabel( Row, 4, \' campos \' ); WriteLabel( Row, 5, \' campos \' ); WriteLabel( Row, 6, \' campos \' ); WriteLabel( Row, 7, \' campos \' ); WriteLabel( Row, 8, \' campos \' ); WriteLabel( Row, 9, \' campos \' ); WriteLabel( Row, 10, \' campos \' ); Row := Row + 1; While not Query1.Eof do // LOOP NA TABELA begin WriteLabel( Row, 1, Query1.Campodatabela.AsString); WriteLabel( Row, 2, Query1.Campodatabela.AsString); WriteLabel( Row, 3, Query1.Campodatabela.AsString ); Query1.Next; Row := Row + 1; end; CloseFile; SaveToFile; Application.MessageBox(PChar(\'Planilha \' + SaveXls.FileName + \' gerada.\'),\'Aviso\',mb_Ok); Query1.First; end; end; end; end; end;Se quiser algo mais bodoso entre neste endereço: tem um exemplo muito bomhttp://www.activedelphi.com.br/modules.php...r=0&thold=0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Setembro 13, 2007 Autor Denunciar Share Postado Setembro 13, 2007 Oba..Jonas...Estou tentando fazer o ser exemplo e deu erro nesta linha:If SaveXls.Execute thenerro:[Error] Unit1.pas(44): Undeclared identifier: 'SaveXls'tem que declarar algo na uses??Grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 13, 2007 Denunciar Share Postado Setembro 13, 2007 SaveXls.FileName é um componente SaveDialog1 com o nome de SaveXls .. ok ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Setembro 13, 2007 Autor Denunciar Share Postado Setembro 13, 2007 (editado) SaveXls.FileName é um componente SaveDialog1 com o nome de SaveXls .. ok ?R.: beleza..JOnas....deu erro nesta linha também: With mxNativeExcel1 Doque componente é este?? :( Grato Editado Setembro 13, 2007 por Eder Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 13, 2007 Denunciar Share Postado Setembro 13, 2007 Oi Eder .. desculpe me esqueci que voce usa o delphi 4, este componente é do delphi 8, mas olhe neste endereço tem outros exemplos de como exportar dados para o xlshttp://delphi-id.org/dpr/index.php?name=PN...43294ea12a4b7b0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Welson de Avelar Soares Filho Postado Setembro 14, 2007 Denunciar Share Postado Setembro 14, 2007 Tem um exemplo bem explicado neste endereço:http://www.activedelphi.com.br/modules.php...r=0&thold=0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Setembro 14, 2007 Autor Denunciar Share Postado Setembro 14, 2007 (editado) pessoal..grato a todos...eu achei legal este exemplo linck que o Jonas já havia postado no inicio do tópico e que o amigo Welson menciona....http://www.activedelphi.com.br/modules.php...r=0&thold=0mas ai testando apareceu esta etapa da dica:ExcelApplication: Name: Excelé um componente???No delphi 4 não achei....Grato Editado Setembro 14, 2007 por Eder Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 14, 2007 Denunciar Share Postado Setembro 14, 2007 Esta na paleta Servers do delphi 5 e 7 (acho que do 3 tambem ), o componente ExcelApplication1. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Setembro 14, 2007 Autor Denunciar Share Postado Setembro 14, 2007 Esta na paleta Servers do delphi 5 e 7 (acho que do 3 tambem ), o componente ExcelApplication1.R.: humm...não tem no d4...mas beleza..vou continuar usando o PrtGrid mesmo.Precisava de algo simples como exporta dados de um dbgrid pra xls, porem o meu D4 não tem mtas opções.Valeu Grato..t+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 srsilver Postado Setembro 21, 2007 Denunciar Share Postado Setembro 21, 2007 (editado) movido deste tópico: Probleminha Com Dbgrid X Componente Prtgrid_________________________________________________________________haaaa..Jonas você conhece uma outra maneira de exportar conteudo de um dbgrid pra xls??GratoOlá, acho que isso abaixo pode ajudar, porém tive que enganar os campos data para que colocassem . em vez de / senão os exceis mais novos invertem o dia com o mês.procedure form.BtnExpExcelClick(Sender: TObject); var linha, coluna : integer; var planilha : variant; var valorcampo, valorcabecalho : string; begin // DataM1 é minha form só de banco de dados, separada DataM1.qry1.CachedUpdates := true; planilha:= CreateoleObject('Excel.Application'); planilha.WorkBooks.add(1); planilha.caption := 'Exportando dados do dbGrid para o Excel'; planilha.visible := true; DataM1.qry1.ApplyUpdates; DataM1.qry1.First; for linha := 0 to DataM1.qry1.RecordCount - 1 do begin for coluna := 1 to DataM1.qry1.FieldCount do //valorcabecalho:=''; //valorcabecalho := DataM1.1.Fields[coluna - 1].DisplayLabel; //if (valorcabecalho <> 'CAMPO') or (valorcabecalho <> 'CAMPO') THEN begin valorcampo := DataM1.qry1.Fields[coluna-1].AsString; // tratamento para colunas que são data if (coluna=14) or (coluna=15) or (coluna=16) then planilha.cells[linha + 2,coluna]:= Copy(valorcampo,1,2) + '.' + Copy(valorcampo,4,2) + '.' + Copy(valorcampo,7,4) else planilha.cells[linha + 2,coluna]:= valorcampo; end; DataM1.qry1.Next; end; // Inserindo cabeçalho da planilha planilha.cells[1,1] := 'cabeçalho; planilha.columns.Autofit; end; Editado Setembro 22, 2007 por Micheus Adicionado o delimitador de código [code] [/code]. Lembre-se de utilizá-lo para melhor visualização Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Eder
movido deste tópico: Probleminha Com Dbgrid X Componente Prtgrid
_________________________________________________________________
haaaa..Jonas você conhece uma outra maneira de exportar conteudo de um dbgrid pra xls??
Grato
Editado por MicheusTópico desmembrado de outro, com autorização do autor (Eder)
Link para o comentário
Compartilhar em outros sites
10 respostass 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.