muchas gracias Roman, pero esta opcion no me vale porque no uso el objeto de delphi ExcelApplication, si no que lo creo mas o menos asi
---------------------------
Código Delphi
[-]
try
XL := GetActiveOleObject('Excel.Application');
except
XL := CreateOLEObject('Excel.Application'); end;
if Ruta <> '' then
XL.WorkBooks.open(Ruta)
else
XL.WorkBooks.add;
XL.visible:=False;
j := 1;
i := 0;
while i < NoCampos do
begin
XArr[i+1]:=EXQuery.Fields[i].DisplayLabel;
i := i+1;
EXQuery.Next;
end;
XL.Range['A'+IntToStr(j),
CHR(64+NoCampos)+IntToStr(j)].Value := XArr;
XL.Range['A1',CHR(64+NoCampos)+IntToStr(j)].select;
XL.Selection.Font.Name:='Times New Roman';
XL.Selection.Font.Size:=10;
XL.Selection.Font.color := clblue;
XL.Selection.Font.bold := true;
XL.Selection.Font.underline := true;
j := 3;
EXQuery.First;
while not EXQuery.Eof do
begin
i:=1;
while i<=NoCampos do
begin
XArr[i] := EXQuery.Fields[i-1].Value;
i := i+1;
end;
XL.Range['A'+IntToStr(j),
CHR(64+NoCampos)+IntToStr(j)].Value := XArr;
EXQuery.Next;
j := j + 1;
end;
XL.Range['A1',CHR(64+NoCampos)+IntToStr(j)].select;
XL.selection.Columns.AutoFit;
XL.Range['A1','A1'].select;
XL.Quit;
----------------------
pero al final me pide que si quiero grabar o no, y no se como decirle que me lo grabe directamente
un saludo