Передача выборочных полей из ADOTable в Excel
Нужно передать данные из выборочных полей из ADOtable в Excel.
Есть таблица в Access с именем Tab1, в Delphi эта таблица подключена с помощью ADOTable с именем Table1. Данная таблица содержит поля:
ID_n,name,address,general_face,phone,spec,ocenka1,ocenka2.
Нужно передать в Excel записи из следующих полей таблицы Table1:
ID_n,name,ocenka1,ocenka2.
Уже второй день с этим мучаюсь, никак не соображу, может кто подскажет, как можно сделать?
1. создаёшь соединение с Ёксель, как с базой данных.... тогда каждая страница в книге будет являться таблицей базы данных...
2. использование технологию OLE
3. использование так называемых серверов офисных приложений (страничка Servers)...
на мой взгляд наиболее удачный вариант - использование серверов
var Excel: Variant;
i:integer;
begin
DataModule.onlyABTable.Close;
DataModule.onlyABTable.Open;
DataModule.onlyABTable.First;
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open['c:\DBPostav\reports\Orgfordok.xls'];
Excel.Range['H2']:=DateToStr(date);
for i:=0 to DataModule.onlyABTable.RecordCount-1 do
begin
Excel.Range['A17'].EntireRow.Insert(xlDown);
Excel.Range['A17']:=DataModule.onlyABTable.Fields.Fields[9].AsInteger;
Excel.Range['D17']:=DataModule.onlyABTable.Fields.Fields[0].AsString;
DataModule.onlyABTable.Next;
end;
Excel.DisplayAlerts:=False;
Excel.ActiveWorkbook.Close(true,'c:\DBPostav\reports\Orgfordok.xls');
Excel.Application.Quit;
В цикле загоняю все записи только по тем полям, которые мне нужны. Так что благодарю за помощь, сам разобрался... :)
то, что ты сделал - есть ничто иное, как использование технологии OLE.... CreateOleObject('Excel.Application') :)
ага.... :)