delphi excel

19/08/2004

0

Ola pessoal .

Como eu faço para um aplicação em delphi 7 que salve os dados das tabelas em planilhas do excel

valeu :D


Radolpho

Radolpho

Responder

Posts

19/08/2004

Mkoch

procedure SalvaParaExcel(const Valores: ArrayDinString);
var
Excel: Variant;
I, J, Cols, Lins: Integer;
SaveDialog: TSaveDialog;
NomeArq: String;
begin
try
try
SaveDialog := TSaveDialog.Create(Application);
NomeArq := ´´;
//Configura o SaveDialog.
with SaveDialog do
begin
Title := ´Salvar para Microsoft Excel´;
InitialDir := ´C:\´;
DefaultExt := ´*.xls´;
Filter := ´Microsoft Excel|*.xls´;
if Execute then
NomeArq := Trim(FileName);
end;//with


if Trim(NomeArq) = ´´ then
begin
Application.MessageBox(´Por favor informe um nome para o arquivo.´, ´Mensagem de Erro´, MB_ICONQUESTION+MB_OK);
Exit;
end;//if

if Copy(NomeArq, Length(NomeArq) - 3, 4) <> ´.xls´ then
begin
Application.MessageBox(PChar(´O nome do arquivo ´´´ + NomeArq + ´´´ é inválido.´), ´Mensagem de Erro´, MB_ICONQUESTION+MB_OK);
Exit;
end;//if

//Verifica se o Arquivo já existe.
if FileExists(NomeArq) then
if not Application.MessageBox(PChar(´O arquivo ´´´ + NomeArq + ´´´ já existe. Deseja substítuílo?´), ´Mensagem de Questionamento´, MB_ICONQUESTION+MB_YESNOCANCEL) = IDYes then
Exit;

//Cria o Objeto Application do Excel.
Excel := CreateOleObject(´Excel.Application´);

//Mostra o Excel (se quiser vc quiser)
//Excel.Visible := True;

//Cria um novo WorkBook.
Excel.WorkBooks.Add;

//Preenche as células do Excel com os dados do vetor dinâmico.
Lins := Length(Valores);//Total de Linhas.
Cols := Length(Valores[0]);//Total de Colunas.

for I := 0 to Lins - 1 do
begin
for J := 0 to Cols -1 do
begin
//Se for data altero as ´/´ para ´.´
if StrToDateDef(Valores[I, J], 0) > 0 then
Valores[I, J] := StringReplace(Valores[I, J], ´/´, ´.´, [rfReplaceAll]);

Excel.WorkBooks[1].Sheets[1].Cells[I + 1, J + 1] := Valores[I, J];
end;//for J
end;//for I

//Salva a Planilha.
Excel.WorkBooks[1].SaveAs(NomeArq);

Application.MessageBox(PChar(´Arquivo ´´´ + NomeArq + ´´´ gerado com sucesso.´), ´Mensagem de Informação´, MB_ICONINFORMATION+MB_OK);
//Se aocntecer algum erro, trata-o.
except
on E: Exception do
begin
Application.MessageBox(PChar(´Não foi possível gerar o arquivo ´´´ + NomeArq + ´´´.´ + #13 + ´Erro:´ + E.Message), ´Mensagem de Erro´, MB_ICONQUESTION+MB_OK);
end;//for
end;//try except
finally
//Sai do Excel
Excel.Quit;

SaveDialog.Free;
end;//try finally
end;


Responder

19/08/2004

Lucas Silva

Se tiver alguma dúvida, utilize o método de pesquisa do fórum...


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar