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

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

Экспорт в Excel [D6]


zorik ©   (2005-06-08 12:52:00) 

Делаю экспорт данных в Excel с базы данных. Табличка 1600 строчек на 22 столбца экспортируется приблизительно 5 мин. Никаких компонентов не использую. Все делаю через стандартные функции Excel.Application. Как можно ускорить этот процесс?


Digitman   (2005-06-08 14:06:00) [1]


> Вставляю я по 1-й ячейке


неразумно.
вставляй сразу весь диапазон, см.[5]


> рамку вокруг нее рисую


и тоже, видать, для каждой ячейки ?
тоже неразумно.
запиши макрос, посмотри как рамки рисуются сразу для всех ячеек выделенного диапазона, сделай то же самое в Делфи (отличия в синтаксисе - мизерные)


zorik   (2005-06-08 14:02:00) [2]

Спасибо! Пойду разбиратся. Вставляю я по 1-й ячейке + рамку вокруг нее рисую


Digitman   (2005-06-08 13:02:00) [3]

var Rng: OleVariant;

Rng := VarArrayCreate([0,1599,0,21], varVariant);
MyTable.First;
for row := 0 to 1599 do
begin
 for col := 0 to 21 do
   Rng[row][col] := MyTable.Fields[col].Value;
 MyTable.Next;
end;
MyWorksheet.Cells(..).Value := Rng;


TUser   (2005-06-08 12:59:00) [4]

> Использовать VarArray и копировать данные целиком, а не поячеечно.

Можно сделать запрос через MS Query.


dmitry501   (2005-06-08 12:55:00) [5]

zorik ©   (08.06.05 12:52)
Конечно. Читай на
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=249&mode=print
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=272&mode=print
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=313&mode=print


TUser   (2005-06-08 12:55:00) [6]

Покажи код - как экспортируешь. Может ты там по одной записи копируешь в Excel.


evvcom   (2005-06-08 12:55:00) [7]

Использовать VarArray и копировать данные целиком, а не поячеечно.


Наверх

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