Возможно нужно так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';
Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт'];
for i := 1 to fDM.DSQuery1.Fields.Count-1 do
Sheet.Cells[1,i]:= fDM.DSQuery1.Fields[i].FieldName;
fDM.DSQuery1.First;
//Цикл для вывода данных таблицы
for i:= 2 to fDM.DSQuery1.RecordCount-1 do
begin
//Наполнение таблицы
for index := 1 to fDM.DSQuery1.Fields.Count-1 do
Sheet.Cells[i,index]:= fDM.DSQuery1.Fields[i].AsString;
fDM.DSQuery1.Next; //Переход на следующую строку
end;
end;
Неначем проверить, к печали