Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление строк в Excel [D6, D7, Win95/98, WinME, Win2k, WinXP]


hooky-mars ©   (2004-10-12 18:33:00) 

Saluer!

Надо выдать отчет из баз данных. При этом используются шаблоны. Но когда нужно выгружать самиы данные не могу доваить строку.
Метод Cells[i,j] не подходит, он периисывает то, что идет ниже таблицы. Как оформить добавление?
Код:

var
XLApp,Sheet:Variant;
...
egin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.open('...');
XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';
Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт'];
Sheet.Cells[1,2]:='Телефонный справочник';
Sheet.Cells[2,1]:='Фамилия';
Sheet.Cells[2,2]:='Имя';
Sheet.Cells[2,3]:='e-mail';
Sheet.Cells[2,4]:='Город';
Sheet.Cells[2,5]:='Дата рождения';
...
Sheet.Cells[index,1]:='..';
Sheet.Cells[index,2]:='..';
Sheet.Cells[index,3]:='..';
Sheet.Cells[index,4]:='..';
Sheet.Cells[index,5]:='..';
...
end;


YurikGL   (2004-10-12 19:59:00) [1]

http://www.delphimaster.ru/cgi-bin/forum.pl?n=0&search=excel


Мирон   (2004-10-12 19:53:00) [2]

А так?

Sheet.Cells[...там, где надо вставить...].EntireRow.Insert(xlDown)

ИМХО, вообще лучше использовать раннее связывание.  

http://delphiworld.narod.ru/base/on_waves_of_integrations.html

Может кое-что проясниться...


hooky-mars   (2004-10-12 19:21:00) [3]

TO Мирон ©  

Я даже не знаю как это делается в VBasic`е. Подозриваю, что похожими надписами (отдаленно похожими), это можно будет сделать и в Delphi


Мирон   (2004-10-12 19:18:00) [4]

Такой вариант. Записываем в Экселе макрос, добавляющий строку в нужном месте (и выполняющий ее форматирование, если надо).
Затем из программы делаем OLEVariant(exl).Run('Module1.MyMacros');
и заполняем получившиеся ячейки.

Надеюсь, это то, что надо


Наверх

Титульная страница Поиск, карта сайта Написать письмо