|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
Выгружаю массив на лист, и потом вставляю комментарии. Как ускорить вставку комментарий? комметарии содержаться в массиве Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
отключаю Код: vbnet 1. 2. 3. 4. 5.
комметариев почти 10 000, и вот уже день потратил, не знаю как ускорить ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 17:36 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
вот так отключаю Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 17:37 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
Focha, Сначала поместить все комментарии в массив, а потом выгружать его на лист. Обращение к каждой отедльной ячейке весьма неэффективный метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 17:44 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
iMrTidyFocha, Сначала поместить все комментарии в массив, а потом выгружать его на лист. Обращение к каждой отедльной ячейке весьма неэффективный метод. проблема именно в этом, я не знаю как вставить массив в виде комментарий, а если например array(5,10)="" мне не нужно вставлять комментарий. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 17:50 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
Focha, рассмотрите вариант использования библиотек для работы с Excel типа epplus. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2017, 14:00 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
FochaiMrTidyFocha, Сначала поместить все комментарии в массив, а потом выгружать его на лист. Обращение к каждой отедльной ячейке весьма неэффективный метод. проблема именно в этом, я не знаю как вставить массив в виде комментарий, а если например array(5,10)="" мне не нужно вставлять комментарий. Excel не рассчитан на "жесткую" работу с комментариями. Взять для примера вставку 1 млн простых формул, это займет пару секунд, в то время как вставка 10 000 комментариев займет секунд 5. Есть один способ ускорить работу, но это потребует некоего "шаманства": 1. Создается один пустой комментарий. 2. Этот комментарий копируется в ячейки назначения при помощи PasteSpecial. - Этот шаг занимает больше всего времени из алгоритма. 3. Итерация через все комментарии с заменой текста на нужный. - Для 10 000 комментариев заняло несколько миллисекунд. Код: vbnet 1. 2. 3.
Если такой способ не поможет, то остается только Open XML SDK, но это уже и язык другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2017, 14:39 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
iMrTidyFochaпропущено... проблема именно в этом, я не знаю как вставить массив в виде комментарий, а если например array(5,10)="" мне не нужно вставлять комментарий. Excel не рассчитан на "жесткую" работу с комментариями. Взять для примера вставку 1 млн простых формул, это займет пару секунд, в то время как вставка 10 000 комментариев займет секунд 5. Есть один способ ускорить работу, но это потребует некоего "шаманства": 1. Создается один пустой комментарий. 2. Этот комментарий копируется в ячейки назначения при помощи PasteSpecial. - Этот шаг занимает больше всего времени из алгоритма. 3. Итерация через все комментарии с заменой текста на нужный. - Для 10 000 комментариев заняло несколько миллисекунд. Код: vbnet 1. 2. 3.
Если такой способ не поможет, то остается только Open XML SDK, но это уже и язык другой. я не понял в чем прикол, можете мне подсказать. ранее recorsed я заливал в массив(shmk_var_temp), после пробегал данный массив. Я решил не заливать recorsed в массив, и просто пройтись по recorsed, и вставка комментариев сократилась до нескольких секунд. У меня есть предположение, потому что массив был типа variant, следовательно выделялось много памяти и требовалось больше времени? правильно я понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 09:51 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
FochaiMrTidyпропущено... Excel не рассчитан на "жесткую" работу с комментариями. Взять для примера вставку 1 млн простых формул, это займет пару секунд, в то время как вставка 10 000 комментариев займет секунд 5. Есть один способ ускорить работу, но это потребует некоего "шаманства": 1. Создается один пустой комментарий. 2. Этот комментарий копируется в ячейки назначения при помощи PasteSpecial. - Этот шаг занимает больше всего времени из алгоритма. 3. Итерация через все комментарии с заменой текста на нужный. - Для 10 000 комментариев заняло несколько миллисекунд. Код: vbnet 1. 2. 3.
Если такой способ не поможет, то остается только Open XML SDK, но это уже и язык другой. я не понял в чем прикол, можете мне подсказать. ранее recorsed я заливал в массив(shmk_var_temp), после пробегал данный массив. Я решил не заливать recorsed в массив, и просто пройтись по recorsed, и вставка комментариев сократилась до нескольких секунд. У меня есть предположение, потому что массив был типа variant, следовательно выделялось много памяти и требовалось больше времени? правильно я понял? Разве что, если на компьютере мало памяти, но мне кажется это маловероятным. А я правильно понимаю, что исходные данные Вы получаете SQL запросом? А Вы можете замерить время по каждому этапу, до и после изменений? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 10:08 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
iMrTidyFochaпропущено... я не понял в чем прикол, можете мне подсказать. ранее recorsed я заливал в массив(shmk_var_temp), после пробегал данный массив. Я решил не заливать recorsed в массив, и просто пройтись по recorsed, и вставка комментариев сократилась до нескольких секунд. У меня есть предположение, потому что массив был типа variant, следовательно выделялось много памяти и требовалось больше времени? правильно я понял? Разве что, если на компьютере мало памяти, но мне кажется это маловероятным. А я правильно понимаю, что исходные данные Вы получаете SQL запросом? А Вы можете замерить время по каждому этапу, до и после изменений? 10000 комментариев через массив, вставлялись минут 13 без массива, а сразу через rst 40 секунд Думаю проблема не в памяти 8ГБ на компе, а в типах данных, variant весит много, следовательно, нужно больше времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2017, 12:23 |
|
оптимизация вставки данных в EXCEL
|
|||
---|---|---|---|
#18+
FochaiMrTidyпропущено... Разве что, если на компьютере мало памяти, но мне кажется это маловероятным. А я правильно понимаю, что исходные данные Вы получаете SQL запросом? А Вы можете замерить время по каждому этапу, до и после изменений? 10000 комментариев через массив, вставлялись минут 13 без массива, а сразу через rst 40 секунд Думаю проблема не в памяти 8ГБ на компе, а в типах данных, variant весит много, следовательно, нужно больше времени. Странно, но интересно. 10 000 записей в массиве для компьютера в памяти это ни о чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2017, 15:44 |
|
|
start [/forum/topic.php?fid=61&msg=39491074&tid=2172603]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 161ms |
0 / 0 |