Ver Mensaje Individual
  #7  
Antiguo 29-11-2006
sebamora sebamora is offline
Miembro
 
Registrado: nov 2006
Ubicación: salta - argentina
Posts: 32
Reputación: 0
sebamora Va por buen camino
stringgrid a excel sin dramas

aqui hay un codigo q pasa de un stringgrid a excel xo necesita tener el excel instalado, aunque ni cuenta te das q lo usa

procedure tform1.guardar(archivo:string);
var
celi,celj:integer;
begin
try
try
ExcelSave.Connect;
ExcelWB2.ConnectTo(ExcelSave.Workbooks.Add(EmptyParam,0));
ExcelWS2.ConnectTo(ExcelWB2.Worksheets[1] as _Worksheet);
stringgrid1.Visible:=false;
progressbar1.Visible:=true;
progressbar1.Min:=1;
progressbar1.Position:=1;
progressbar1.Max:=stringgrid1.ColCount*stringgrid1.RowCount;
for celi:=1 to stringgrid1.ColCount do
begin
for celj:=1 to stringgrid1.RowCount do
begin
progressbar1.Position:=progressbar1.Position+1;
ExcelWS2.Cells.Item[celj,celi].NumberFormat:='@';// formato de texto
ExcelWS2.Cells.Item[celj,celi].value:=stringgrid1.Cells[celi, celj];
end;
end;
ExcelWB2.SaveAs(archivo, //nombre para guardar (string)
xlNormal,'','',
EmptyParam,EmptyParam,0, EmptyParam, EmptyParam, EmptyParam,EmptyParam,
EmptyParam,0);
stringgrid1.Visible:=true;
progressbar1.Visible:=false;
except
Application.MessageBox('Error al guardar el archivo','Alerta',MB_ICONWARNING);
end;
Finally
ExcelWB2.Close;
ExcelSave.Quit;
ExcelWS2.Disconnect;
ExcelWB2.Disconnect;
ExcelSave.Disconnect;
end;
end;


donde insertamos los sgtes componentes en el form:

ExcelSave: TExcelApplication;
ExcelWB2: TExcelWorkbook;
ExcelWS2: TExcelWorksheet;
ProgressBar1: TProgressBar;
StringGrid1: TStringGrid;
Responder Con Cita