|
|
|
Ускорение формирования экселовского отчета
|
|||
|---|---|---|---|
|
#18+
изначально отчет формировался втупую долбя значения ячеек и формат напрямую в эксель. (отчет сложный , около 4 мегабайт густо раскрашен и заполнен ) сегдня закончил оптимизацию (замеры включают только время форматирования, исключено время запросов данных ) 1 изначально каждая ячейка форматировалась отдельно = 40 минут/ лист 2 складывание адресов под однотипное форматирование в строковую переменную и объектом рэнж по адресу через запятую (разбивая по 250 символов ) 5 минут/ лист 3 создание листа на основании шаблона xlt с заготовленной функцией (у екселя по умолчанию в безопасности стоит разрешено коду шаблонов) из управляющего приложения (аксесс) вызывается методом XL.Run "Этакнига.ExcelOut ", OutRange, CellValue, CellFormat 40 секунд/ лист 4 внутри экселовской процедуры объеденил передаваемые диапазоны в виде OutRange = "a1,a2,a3,a4,b1,b2,b3,b4" в вид OutRange = "$a$1:$b$4" при помощи встроенного метода приложения excel.application.union (range1, range2) результат 2,5 секунды / лист ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 15:45:01 |
|
||
|
Ускорение формирования экселовского отчета
|
|||
|---|---|---|---|
|
#18+
изначально каждая СТРАНИЦА ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 15:46:15 |
|
||
|
Ускорение формирования экселовского отчета
|
|||
|---|---|---|---|
|
#18+
Леша, UNION - очень медленный метод. очень. я как-то выкладывал классик в твой топик, он текстовый адрес формирует много быстрее униона. в паре с Evaluate работал. если унионов много - ты ищо много времени съекономишь, если от него откажешся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 16:11:11 |
|
||
|
Ускорение формирования экселовского отчета
|
|||
|---|---|---|---|
|
#18+
у меня юнион выполняется всего четыре раза дял каждого из форматов всегда из самого экселя, объединение которое было когда то пробовал - что то не получилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 16:24:35 |
|
||
|
Ускорение формирования экселовского отчета
|
|||
|---|---|---|---|
|
#18+
Забей на тактику. Пересмотри стратегию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 22:56:34 |
|
||
|
Ускорение формирования экселовского отчета
|
|||
|---|---|---|---|
|
#18+
если пересматривать стратегию то может быть так: пусть будет две коллекции коллекция формата ячейки - связанная коллекция ренжей все форматирование передаю в функцию наполнения коллекций например надо добавить примечание aaa цвет зеленый значение 8 в ячейку а1 функция смотрит наличие такого формата в коллекции если нет то добавляет и добавляет связанный рэнж, если уже есть просто добавляет связанный рэнж после окончания расчета данных для отчета обе коллекции передаются в функцию отчета которая по каждому элементу коллекции форматирует диапазоны документа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2005, 10:59:18 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2185667]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 402ms |

| 0 / 0 |
