|
|
|
Тормозит Range.Copy. можно ли его обогнать, обмануть или победить?
|
|||
|---|---|---|---|
|
#18+
DeggasadЕсли хочешь конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 00:10:31 |
|
||
|
Тормозит Range.Copy. можно ли его обогнать, обмануть или победить?
|
|||
|---|---|---|---|
|
#18+
автор В предпоследней строке точно ошибка, там наверное диапазон переопределяться должен должен ну да - та строка дефектная. в коде диапазон переопределяется в отдельной процедуре. а при создании поста я скопировал первую строку для указания на это. Потеряв по дороге Set и оставив лишнюю точку. Примите повторные извинения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 02:30:13 |
|
||
|
Тормозит Range.Copy. можно ли его обогнать, обмануть или победить?
|
|||
|---|---|---|---|
|
#18+
бабай а что на этом можно сэкономить в смысле времени работы Copy? Могу я понимать это как заявление о том, что в рамках одного экземпляра Excel Copy диапазона c листа на лист одной и той же книги работает быстрее, чем Copy с листа одной книги на лист в другой книге, открытой в том же экземпляре Excel? нет конечно, речь не о книгах, а об уменшьении количества операций Copy за счет накопления данных о строках в массивы или коллекции. Union - вот основное, что я хотел тут сказать бабай лью поблочно. в размер текущего блока-образца. простого и очевидного каунта на входном потоке нет. поэтому нет предварительного расчета итоговой высоты группы. Есть "метка блока", к которому относится текущая часть входного потока. полным проходом по всему потоку можно было бы получить и каунт. Тогда отчет должен будет строиться в два прохода по потоку. в большинстве наличных случаев наборы пригодны к переходу вверх/вниз. Код усложнится и распухнет. Copy само по себе при этом не исчезнет.Copy не исчеснет. Но ,насколько я помню, и форматтер мне нужен был именно для того, чтобы не форматировать каждую отдельную ячейку. На больших регионах массовые операции как раз и экономят в XL. А вместо двойного прохода по рекордсету дешевле на первом проходе открыть коллекцию или массив. На втором - вместо построчного заполнения - лить диапазонами массива (упорядочен он будет так же,как и входной набор). я кстати на этом сильно экономил (вместо размещения данных в таблицы в известном выгружателе от NS (кажется) совал все в массивы, правда, как оказалось, результат-то мне нафих не нужен, и правильнее выгружать таки в шаблоны, а не пользовать "универсальную выгрузку" - слишком разные системы понятий в XL и Аксессовсом репорте). Код, имхо, усложнится ровно на некую прослойку - категорию, возможно - класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 10:44:30 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34770559&tid=2182351]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 317ms |

| 0 / 0 |
