De StringGrid para Excel

12/05/2008

5

Bom dia...

Como exporto de StringGrid para Excel?


Responder

Posts

13/05/2008

Facc

ninguem?


Responder

14/05/2008

Joaoshi

Colega, vê se ajuda (adapte para sua necessidade).

Declare [b:8ed75fe4c3]ComObj[/b:8ed75fe4c3] no uses

procedure GeraExcel;
var
  coluna, linha: integer;
  excel: variant;
begin

  try
    excel:=CreateOleObject(´Excel.Application´);
    excel.Workbooks.add(1);
  except
    Application.MessageBox (´Deu ´,´Erro´,MB_OK+MB_ICONEXCLAMATION);
  end;

  try

    Linha := 1;

    { Criar Colunas na Tabela / Cabeçalhos }
    for coluna := 0 to NumeroDeColunas do
       begin
         excel.cells [Linha,coluna+1] := ´ValorDaColuna´;
       end;


    { Ler as colunas / linhas do StringGrid e carregar o excel }

    inc(Linha);
    for coluna := 0 to NumeroDeColunas do
       begin
         excel.cells [Linha,coluna+1] := ´ValorNovoDaColuna´;
       end;

    excel.columns.AutoFit;
    excel.visible:=true;

 except on e:exception do
    Application.MessageBox (PChar(´Aconteceu um durante a conversão´+
        ´da tabela para o Ms-Excel´ + #13 + e.Message),´Erro´,MB_OK+MB_ICONEXCLAMATION);
 end;
end;


Espero ter ajudado.


Responder

14/05/2008

Facc

Colega, vê se ajuda (adapte para sua necessidade). Declare [b:f4b9f04a2e]ComObj[/b:f4b9f04a2e] no uses
procedure GeraExcel;
var
  coluna, linha: integer;
  excel: variant;
begin

  try
    excel:=CreateOleObject(´Excel.Application´);
    excel.Workbooks.add(1);
  except
    Application.MessageBox (´Deu ´,´Erro´,MB_OK+MB_ICONEXCLAMATION);
  end;

  try

    Linha := 1;

    { Criar Colunas na Tabela / Cabeçalhos }
    for coluna := 0 to NumeroDeColunas do
       begin
         excel.cells [Linha,coluna+1] := ´ValorDaColuna´;
       end;


    { Ler as colunas / linhas do StringGrid e carregar o excel }

    inc(Linha);
    for coluna := 0 to NumeroDeColunas do
       begin
         excel.cells [Linha,coluna+1] := ´ValorNovoDaColuna´;
       end;

    excel.columns.AutoFit;
    excel.visible:=true;

 except on e:exception do
    Application.MessageBox (PChar(´Aconteceu um durante a conversão´+
        ´da tabela para o Ms-Excel´ + #13 + e.Message),´Erro´,MB_OK+MB_ICONEXCLAMATION);
 end;
end;
Espero ter ajudado.


Valeu pela dica, mas só está copiando a primeira linha para o Excel


Responder

14/05/2008

Joaoshi

Colega, no seu caso, lendo a partir do StringGrid


{ Ler as colunas / linhas do StringGrid e carregar o excel }

  For nLinhas:=0 to StringGrid.RowCount-1 do
     begin
       { aqui para cada coluna do StringGrid } 
       excel.cells [nLinha,coluna+1] := StringGrid.Cells[QualColuna,nLinhas]
     end; 


Espero ter ajudado.


Responder