Вниз
Скачать: CL | DM;

Экспорт в Excel   Найти похожие ветки 

 
zorik ©   (2005-06-08 12:52) [0]

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


 
dmitry501 ©   (2005-06-08 12:55) [1]

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) [2]

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


 
evvcom ©   (2005-06-08 12:55) [3]

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


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

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

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


 
Digitman ©   (2005-06-08 13:02) [5]

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;


 
zorik ©   (2005-06-08 14:02) [6]

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


 
Digitman ©   (2005-06-08 14:06) [7]


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


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


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


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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1117913840
Juice
2005-06-04 23:37
2005.06.29
ACPI против электриков


3-1115971918
Delphi forever
2005-05-13 12:11
2005.06.29
Организация доступа к БД через Internet


1-1117610048
Mishenka
2005-06-01 11:14
2005.06.29
Как по имени файла получить его Handle?


3-1115988608
Inuendo
2005-05-13 16:50
2005.06.29
форматирование полей в DBGrid


3-1116232915
Dimedrol
2005-05-16 12:41
2005.06.29
Замена транзакций в MSSQL (part 2)




   Наверх