Jerfs 1 Denunciar post Postado Agosto 27, 2007 Galera seguinte, Gerei, como se dizem "no braço", um relatório que está escrevendo em uma tabela simples, ou melhor, o cara seleciona os dados que deseja, clica em gerar e ele busca nas tabelas escrevendo em uma tabela, até aí perfeito, está funcionando bem. Agora preciso que essa tabela seja exportada para excel, tem jeito?Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 27, 2007 Tem como fazer sim, não é complicado...Dê uma pesquisada no fórum sobre excel, já foi bastante discutido... Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Agosto 27, 2007 Então marcio, eu procurei mas não achei nada relacionado ao que eu quero, eu quero pegar o mdb pronto e simplesmente passar ele para xls via Delphi, isso é possível? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 27, 2007 Pequeno exemplo de como poderia fazer é o seguinte: procedure TForm1.BitBtn1Click(Sender: TObject);var excel: Variant; x: Integer; arquivo: string;beginarquivo:='c:\Teste.xls';Excel:=CreateOleObject('Excel.Application');Excel.Visible:=False;Excel.DisplayAlerts:=False;Excel.Workbooks.Add;Excel.Workbooks[1].Sheets.Add;Excel.Workbooks[1].WorkSheets[1].Name:='Teste';Excel.Workbooks[1].WorkSheets[1].DisplayPageBreaks:=False;Excel.Columns.AutoFit;for x:=1 to 10 do begin excel.WorkBooks[1].Sheets[1].Cells[x,1]:='Teste linha ' + IntToStr(x) + ' X coluna 1'; excel.WorkBooks[1].Sheets[1].Cells[x,2]:='Teste linha ' + IntToStr(x) + ' X coluna 2'; excel.WorkBooks[1].Sheets[1].Cells[x,3]:='Teste linha ' + IntToStr(x) + ' X coluna 3'; end;Excel.WorkBooks[1].Sheets[1].SaveAs(arquivo);Excel.WorkBooks.Open(arquivo);Excel.Visible:=True;end; Precisaria somente colocar em um while a sua tabela e migrar... Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Agosto 27, 2007 Pô cara, exatamente isso que eu precisava, valeu mesmo... só tem um problema, preciso dos comandos para conseguir formatar o excel... você sabe onde eu acho?! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 27, 2007 beleza...Bom, depende de quais comandos você precisa, alguns eu conheço... Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Agosto 27, 2007 Pô cara, valeu, dei uma vasculhada por ae e encontrei o que eu preciso, até agora to indo bem. Valeu ae novamente! Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Agosto 27, 2007 Ahhh... só mais uma coisa, tem jeito de eu inserir um arquivo JPG ou qualquer outra extensão de imagem dentro desse arquivo XLS que estou criando? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 27, 2007 beleza...Quanto a inserção de arquivos desconheço, se o excel suporte este tipo de inserção, teria de ver mais no site da microsoft se tem algo relacionado de como se deve passar... Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 27, 2007 Achei uma forma de inserir a imagem, muito simples, segue: procedure TForm1.BitBtn1Click(Sender: TObject);var excel: Variant; x: Integer; arquivo: string;beginarquivo:='c:\Teste.xls';Excel:=CreateOleObject('Excel.Application');Excel.Visible:=False;Excel.DisplayAlerts:=False;Excel.Workbooks.Add;Excel.Workbooks[1].Sheets.Add;Excel.Workbooks[1].WorkSheets[1].Name:='Teste';Excel.Workbooks[1].WorkSheets[1].DisplayPageBreaks:=False;Excel.Columns.AutoFit;for x:=1 to 10 do begin excel.WorkBooks[1].Sheets[1].Cells[x,1]:='Teste linha ' + IntToStr(x) + ' X coluna 1'; excel.WorkBooks[1].Sheets[1].Cells[x,2]:='Teste linha ' + IntToStr(x) + ' X coluna 2'; excel.WorkBooks[1].Sheets[1].Cells[x,3]:='Teste linha ' + IntToStr(x) + ' X coluna 3'; end;excel.WorkBooks[1].Sheets[1].Cells[x + 5,1].Select;excel.WorkBooks[1].Sheets[1].Pictures.Insert('c:\imagem.jpg');Excel.WorkBooks[1].Sheets[1].SaveAs(arquivo);Excel.WorkBooks.Open(arquivo);Excel.Visible:=True;end; Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Agosto 28, 2007 Marcio, vi que isso funciona, mas tenho uma dúvida! quando eu quero deixar a figura dentro do diretório do EXE, o que eu coloco no lugar do caminho? tem algum jeito? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 28, 2007 Não entendi a sua situação agora... :-( Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Agosto 28, 2007 O problema é que preciso passar o caminho absoluto para importar a imagem ('c:\img.jpg'), preciso deixar isso dinamico, ou seja, sempre que o programa for mudar de lugar não precise alterar. Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 28, 2007 Ah sim, entendi... Pode usar o comando ExtractFilePath() Ficando... ExtractFilePath(Application.ExeName)Podendo fazer: ExtractFilePath(Application.ExeName) + 'img.jpg' Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Agosto 28, 2007 Valeu brother, você é fera! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 28, 2007 beleza... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Quando precisar posta ai... :D Compartilhar este post Link para o post Compartilhar em outros sites