Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача выборочных полей из ADOTable в Excel

7.6K
21 июня 2006 года
Dick_H
56 / / 20.02.2006
В общем вопрос такой.
Нужно передать данные из выборочных полей из ADOtable в Excel.
Есть таблица в Access с именем Tab1, в Delphi эта таблица подключена с помощью ADOTable с именем Table1. Данная таблица содержит поля:

ID_n,name,address,general_face,phone,spec,ocenka1,ocenka2.

Нужно передать в Excel записи из следующих полей таблицы Table1:

ID_n,name,ocenka1,ocenka2.

Уже второй день с этим мучаюсь, никак не соображу, может кто подскажет, как можно сделать?
339
21 июня 2006 года
verybadbug
619 / / 12.09.2005
есть несколько вариантов.....
1. создаёшь соединение с Ёксель, как с базой данных.... тогда каждая страница в книге будет являться таблицей базы данных...
2. использование технологию OLE
3. использование так называемых серверов офисных приложений (страничка Servers)...

на мой взгляд наиболее удачный вариант - использование серверов
7.6K
22 июня 2006 года
Dick_H
56 / / 20.02.2006
Я сделал немного по другому:Добавил в uses ComObj, ну а далее все просто:

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;

В цикле загоняю все записи только по тем полям, которые мне нужны. Так что благодарю за помощь, сам разобрался... :)
339
22 июня 2006 года
verybadbug
619 / / 12.09.2005
то, что ты сделал - есть ничто иное, как использование технологии OLE.... CreateOleObject('Excel.Application') :)
7.6K
22 июня 2006 года
Dick_H
56 / / 20.02.2006
ага.... :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог