Форум: "Основная";
Текущий архив: 2013.10.20;
Скачать: [xml.tar.bz2];
ВнизЭкспорт в Excel Найти похожие ветки
← →
fd979 (2011-09-23 13:22) [0]Меня интересует вопрос экспортиварования в Эксель. Вернее с его скоростью.
Если это делать с помощью OLE, то сам экспорт идет медленно, что достаточно очевидно (при определенных условиях).
Однако, мне интересно каким образом реализован экспорт например в таких программах как SQL Navigator. Там экспорт занимает очень непродолжительное время, а часто практически моментально.
ActiveExcelSheet := ActiveWorkbook.ActiveSheet;
Index := ActiveExcelSheet.Index;
NoOfColumns := Tablebox.GetColumnCount;
for I := 0 to NoOfColumns - 1 do
begin
FieldName := Tablebox.GetField(i).Name; //(это из экспортируемого приложения - Qlikview)
Cell := ConvertExcelColNumberToLetter (i+1) + "1";
SetRange(Index, Cell, FieldName);
end;
ActiveExcelSheet.Range["A1:"+Cell].Font.Bold := True;
ActiveExcelSheet.Range["A2"].Select;
ActiveExcelSheet.Paste;
NoOfColumns := Tablebox.GetColumnCount;
NoOfRows := Tablebox.GetNoOfRows;
S := CalcRange(NoOfRows, NoOfColumns);
Range := CalcRange(NoOfRows, NoOfColumns);
SetWrapText(Index, Range, FALSE);
ActiveExcelSheet.Range[Range].Borders.LineStyle := xlLineStyleNone;
Т.е. таким образом я приблизился к скорости экспортирования (копирование каждой ячейки идет неоправданно долго), однако, все же есть еще куда оптимизировать. Мне не ясно каким обзом в тех же SQL Navigator, Qlikview и т.д. реализован экспорт. На основе каких технологий?
← →
Dimka Maslov © (2011-09-23 13:25) [1]Можно, к примеру, запудзырить данные в буфер обмена, а ёкселя через оле заставить делать пастефромцлипбоард.
← →
fd979 (2011-09-23 13:27) [2]
ActiveExcelSheet.Paste;
ну я так и делаю.
Но даже с этим у меня медленее.
← →
Медвежонок Пятачок © (2011-09-23 13:45) [3]тупая двумерная таблица?
экспортируй в csv.
секунды не пройдет.
← →
Cobalt © (2011-09-23 17:37) [4]CopyPaste
Все что надо знать про Excel, Delphi и данные
Читаем:
http://delphikingdom.com/asp/viewitem.asp?catalogid=1270
http://delphikingdom.com/asp/viewitem.asp?catalogid=1273
http://delphikingdom.com/asp/viewitem.asp?catalogid=1274
http://delphikingdom.com/asp/viewitem.asp?catalogid=1275
http://delphikingdom.com/asp/viewitem.asp?catalogid=1277
← →
Cobalt © (2011-09-23 17:39) [5]Через VariantArray несколько десятков строк - почти мгновенно.
← →
Dimka Maslov © (2011-09-23 22:33) [6]
> Но даже с этим у меня медленее.
Всё зависит от размера. Большой размер - большое время.
← →
SQLEX © (2011-09-24 18:27) [7]http://delphimaster.net/view/2-1315402765/
довольно быстро
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2013.10.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c