Guest --felipe -- Postado Junho 19, 2007 Denunciar Share Postado Junho 19, 2007 alguém ai sabe como exportar os dados do delphi para outro aplicativo, como excel ou word Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jesus Postado Junho 19, 2007 Denunciar Share Postado Junho 19, 2007 procedure TForm1.Button1Click(Sender: TObject); var ArquivoSalvar:olevariant; //local e nome para salvar arquivo s:olevariant; //facilitar trabalho back : olevariant;begin msword := createoleobject('word.application'); //abre aplicativo msword.documents.add; //adiciona novo documento if MSWord.ActiveWindow.View.SplitSpecial <> 0 then MSWord.ActiveWindow.Panes[2].Close; if (MSWord.ActiveWindow.ActivePane.View.type = 1) or (MSWord.ActiveWindow.ActivePane.View.type = 2) or (MSWord.ActiveWindow.ActivePane.View.type = 5) then MSWord.ActiveWindow.ActivePane.View.type := 3; s := msword.selection; //variavel para facilitar trabalho MSWord.ActiveWindow.ActivePane.View.SeekView := 9; //habilita o cabeçalho s.typetext('Cabeçalho habilitado'); msword.activewindow.activepane.view.seekview := 10; //habilita o rodapé s.typetext('rodapé habilitado'); msword.activewindow.activepane.view.seekview := 0; //habilita o texto s.typetext('texto habilitado'); msword.activedocument.PageSetup.Orientation := wdOrientLandscape; //página em landscape s.Font.Name := 'Times New Roman'; //tipo de letra s.Font.Size := 12; //tamanho de letra s.Font.Bold := True; //negrito s.Font.italic := True; //italico s.font.Subscript := false; //subescrito s.font.Superscript := false; //sobrescrito s.font.Underline := true; //sublinhado s.font.color := clGreen; //cor da letra s.paragraphFormat.alignment := wdAlignParagraphJustify; //alinha o texto a esquerda //esquerda=0, centro=1, direita=2, wdAlignParagraphJustify s.typetext(#9); //tab s.typeparagraph; s.tables.add(s.range,linhas,colunas); //cria tabela i linhas, j colunas s.tables.item(1).columns.item(2).setwidth(100,wdAdjustNone); //comprimento da segunda coluna sem modificar a posição do texto s.tables.item(1).cell(2,3).range.insertAfter('escrito na posição 2,3'); //escreva na posição 2,3// s.cells.autofit; //alinha conforme coluna s.tables.item(1).cell(i,j).select; //seleciona celula i,j s.moveright; //move para direita s.moveright; s.typetext('escrito fora da tabela'); //notas de rodapé// s.footnotes.add(msword.selection.range,emptyparam,'texto'); //notas de cabeçalho// s.endnotes.add(msword.selection.range,emptyparam,'texto'); //comentário// s.comments.add(msword.selection.range,'texto');// s.PageSetup.TopMargin := 10; //margem superior// s.PageSetup.leftMargin := 100; //margem esquerda// s.PageSetup.rightMargin := 80; //margem direita// s.PageSetup.BottomMargin := 60; //magem abaixo msword.application.visible :=true; //mantem visivel o documento word ArquivoSalvar := 'c:\teste.doc'; MSWORD.ActiveDocument.SaveAs(arquivosalvar); //salva sem perguntar// msword.documents.save; //abre janela para salvar// msword.ActiveDocument.PrintOut(false); //imprime direto, sem perguntar// msword.ActiveDocument.PrintPreview; //vizualizar impressão// msword.Quit; // finaliza aplicação Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --felipe -- Postado Junho 19, 2007 Denunciar Share Postado Junho 19, 2007 procedure TForm1.Button1Click(Sender: TObject); var ArquivoSalvar:olevariant; //local e nome para salvar arquivo s:olevariant; //facilitar trabalho back : olevariant;begin msword := createoleobject('word.application'); //abre aplicativo msword.documents.add; //adiciona novo documento if MSWord.ActiveWindow.View.SplitSpecial <> 0 then MSWord.ActiveWindow.Panes[2].Close; if (MSWord.ActiveWindow.ActivePane.View.type = 1) or (MSWord.ActiveWindow.ActivePane.View.type = 2) or (MSWord.ActiveWindow.ActivePane.View.type = 5) then MSWord.ActiveWindow.ActivePane.View.type := 3; s := msword.selection; //variavel para facilitar trabalho MSWord.ActiveWindow.ActivePane.View.SeekView := 9; //habilita o cabeçalho s.typetext('Cabeçalho habilitado'); msword.activewindow.activepane.view.seekview := 10; //habilita o rodapé s.typetext('rodapé habilitado'); msword.activewindow.activepane.view.seekview := 0; //habilita o texto s.typetext('texto habilitado'); msword.activedocument.PageSetup.Orientation := wdOrientLandscape; //página em landscape s.Font.Name := 'Times New Roman'; //tipo de letra s.Font.Size := 12; //tamanho de letra s.Font.Bold := True; //negrito s.Font.italic := True; //italico s.font.Subscript := false; //subescrito s.font.Superscript := false; //sobrescrito s.font.Underline := true; //sublinhado s.font.color := clGreen; //cor da letra s.paragraphFormat.alignment := wdAlignParagraphJustify; //alinha o texto a esquerda //esquerda=0, centro=1, direita=2, wdAlignParagraphJustify s.typetext(#9); //tab s.typeparagraph; s.tables.add(s.range,linhas,colunas); //cria tabela i linhas, j colunas s.tables.item(1).columns.item(2).setwidth(100,wdAdjustNone); //comprimento da segunda coluna sem modificar a posição do texto s.tables.item(1).cell(2,3).range.insertAfter('escrito na posição 2,3'); //escreva na posição 2,3// s.cells.autofit; //alinha conforme coluna s.tables.item(1).cell(i,j).select; //seleciona celula i,j s.moveright; //move para direita s.moveright; s.typetext('escrito fora da tabela'); //notas de rodapé// s.footnotes.add(msword.selection.range,emptyparam,'texto'); //notas de cabeçalho// s.endnotes.add(msword.selection.range,emptyparam,'texto'); //comentário// s.comments.add(msword.selection.range,'texto');// s.PageSetup.TopMargin := 10; //margem superior// s.PageSetup.leftMargin := 100; //margem esquerda// s.PageSetup.rightMargin := 80; //margem direita// s.PageSetup.BottomMargin := 60; //magem abaixo msword.application.visible :=true; //mantem visivel o documento word ArquivoSalvar := 'c:\teste.doc'; MSWORD.ActiveDocument.SaveAs(arquivosalvar); //salva sem perguntar// msword.documents.save; //abre janela para salvar// msword.ActiveDocument.PrintOut(false); //imprime direto, sem perguntar// msword.ActiveDocument.PrintPreview; //vizualizar impressão// msword.Quit; // finaliza aplicaçãomas e pra botar os dados da query??seria mais pratico se eu conseguisse apenas copiar a tabela de um DBGRID, para o excel ou wordesse é meu objetivo saco??valeu a ajuda aiJesus te abençoeuheuiuheiu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Junho 20, 2007 Denunciar Share Postado Junho 20, 2007 felipe, na sessão Tutoriais & Dicas tem um exemplo do colega Alessandro - Exportar dados de um DBGrid para o ExcelO exemplo do colega Jesus faz algo similar, mas criando uma tabela no Word e deve funcionar corretamente. Você teria que seguir o código e ajustar as informações conforme necessita - tipo número de colunas e linhas (no código está: s.tables.add(s.range,linhas,colunas); //cria tabela i linhas, j colunas, você tem que definir os valores) - e daís mover os dados conforme a necessidade.As linhas do seu DBGrid, são na verdade aquelas disponíveis em seu dataset (seja Query ou Table) e as colunas os campos (fields) presentes no DBGrid (nem sempre todos os existentes no dataset). Assim, basta percorrer, para cada linha do dataset, as colunas no DBGrid.Se for apenas para implementar um recurso de Copiar do DBGrid da sua aplicação, para depois "ir" até o Word ou Excel e utilizar a opção Colar, então acho que você pode utilizar este código que postei na seção Tutoriais & Dicas - Adicionando Função Copiar Dados De Um Dbgrid Em Sua AplicaçãoAbraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --felipe -- Postado Junho 20, 2007 Denunciar Share Postado Junho 20, 2007 felipe, na sessão Tutoriais & Dicas tem um exemplo do colega Alessandro - Exportar dados de um DBGrid para o ExcelO exemplo do colega Jesus faz algo similar, mas criando uma tabela no Word e deve funcionar corretamente. Você teria que seguir o código e ajustar as informações conforme necessita - tipo número de colunas e linhas (no código está: s.tables.add(s.range,linhas,colunas); //cria tabela i linhas, j colunas, você tem que definir os valores) - e daís mover os dados conforme a necessidade.As linhas do seu DBGrid, são na verdade aquelas disponíveis em seu dataset (seja Query ou Table) e as colunas os campos (fields) presentes no DBGrid (nem sempre todos os existentes no dataset). Assim, basta percorrer, para cada linha do dataset, as colunas no DBGrid.Se for apenas para implementar um recurso de Copiar do DBGrid da sua aplicação, para depois "ir" até o Word ou Excel e utilizar a opção Colar, então acho que você pode utilizar este código que postei na seção Tutoriais & Dicas - Adicionando Função Copiar Dados De Um Dbgrid Em Sua AplicaçãoAbraçosbeleza, consegui :)valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --felipe --
alguém ai sabe como exportar os dados do delphi para outro aplicativo, como excel ou word
Link para o comentário
Compartilhar em outros sites
4 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.