Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2013 - Excel подвисает при прокрутке структуры (7 уровней, 30к строк)

Ответить
Настройки темы
2013 - Excel подвисает при прокрутке структуры (7 уровней, 30к строк)

Ветеран


Сообщения: 1142
Благодарности: 267

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip Выгрузка.zip
(378.8 Kb, 4 просмотров)
Здравствуйте! Возникла проблема с выгрузкой из 1С: формируют отчет по остаткам, выгружают в excel - там редактируют, делают пометки и прочее. Проблема в том, что excel при работе с таким файлом жутко тормозит - если структура свернута до 2-3 уровня (основные для работы), то любая операция, будь то вертикальная или горизонтальная прокрутка, перемещение между ячейками после нее или, не дай бог, сворачивание\разворачивание уровней приводят к нагрузке процессора и зависанию программы от нескольких секунд до нескольких минут. Да даже изменение размеров окна, а порой и просто переход к нему приводят к подвисанию на несколько минут, если свернуто до 2 уровня. Ненамного помогает перенос работы на сервер терминалов, но там у процессора частота не особо высока, а ядер нагружается 4-6. Другие ресурсы компьютера, включая видеокарту, не нагружаются.
К тому же в LibreOffice работа с файлом не вызывает каких-либо проблем.
При этом сам файл простой, как клубок нити - ни формул, ни объектов, ни итогов, ни специального форматирования - просто голые данные одного шрифта с двумя цветами текста и фона, ну ячейки разве только объединены. Да и количество строк не запредельное.
Единственный усложняющий таблицу элемент - структура. Может, кто-нибудь знает способ заставить excel корректно работать с этим базовым элементом? Потому что различные ключи запуска, опции, версии excel и типы файлов уже испробовали, а результат нулевой
Файл во вложении

Отправлено: 06:47, 07-06-2018

 

Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата gannet:
Может, кто-нибудь знает способ заставить excel корректно работать с этим базовым элементом? »
У меня не получилось (офис 2013, 64bit, лицензия, обновлен). Сначала ворочается достаточно бодро, проблема только при отображении/скрытии уровня (15-20 секунд), но при некоторых комбинациях уровней также зависает около минуты.
Пересохранение в xlsb дало уменьшение размера файла, но не ускорение.
Отключение аппаратного ускорения также ничего не дало.
Этот вопрос всплывает в поиске, полагаю эти решения вы уже пробовали (мне также не помогло):
answers.microsoft.com Excel 2013 - тормозит при работе Проблема - при открытии маленьких файлов (15-100кб), сохранненных из 1с, Ексель занимает примерно 50% ЦП.
answers.microsoft.com - Excel 2016 тормозит при работе с ячейками при работе с файлами, которые были выгружены/созданы 1С и подобных (ERP)
Ярлычок листа у вас один - для 2016 версии предлагается сдвинуть бегунок прокрутки, чтобы были видны все ярлычки, все ссылаются на один и тот же макрос
Sub Macrosy_tyanut_trosy()
ActiveWindow.TabRatio = 0.7
End Sub

Отправлено: 13:03, 07-06-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1142
Благодарности: 267

Профиль | Отправить PM | Цитировать


a_axe, спасибо, макрос улыбнул))
Аппаратное ускорение, видеодрайвера - это, конечно, не то, ибо нагрузка и подвисание зависят только от того, какое количество ячеек (даже не рядов или столбцов, а именно ячеек - причем зависимость если и не прямая, то как минимум весьма похожая) скрыто, а не от того, сколько реально нужно вывести на экран. Хотя данное направление я тоже проверял, пробовал даже уменьшать dpi. Убирал также полосу прокрутки - вспомнил историю о том, как в какой-то программе (будто бы даже в Excel) были тормоза из-за того, что ползунок полосы прокрутки был адаптивной длины и значительные ресурсы процессора тратились именно на вычисление его длины и отображаемой подсказки о текущей строке (в LibreOffice, кстати, ползунок, похоже, именно такой - его длина меняется в зависимости от отображаемого на текущем экране развернутого уровня структуры). Но и полоса прокрутки ни при чем, ведь обработка расширения окна не вызывала бы никаких затруднений.
Здесь, похоже, какой-то баг, заставляющий обрабатывать перед выводом не элемент структуры, а каждую ячейку, хотя чего там обрабатывать, кроме свойства скрыто/нет, а затем уж пытаться вывести...

P.S. Может быть 1С создает неправильную структуру - ручную, где каждый уровень структуры это структура из нижних уровней и часть высших, а при автоматической структуре это не так, поэтому Майкрософт и не чешутся, ведь никто в здравом уме не будет создавать вручную столько структур из структур из структур? А автоматическая структура невозможна из-за отсутствия формул.
Эх, хоть удаляй группировки и садись писать макрос для группировки по количеству табов в первом столбце - все равно ведь будет как ручная??

Последний раз редактировалось gannet, 07-06-2018 в 18:56.


Отправлено: 17:35, 07-06-2018 | #3



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2013 - Excel подвисает при прокрутке структуры (7 уровней, 30к строк)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Открытие браузера при обычной прокрутке колеса мыши Daniltraum7 Microsoft Windows 7 3 15-05-2015 09:15
2010 - программа вставки строк в Excel pavsem7 Microsoft Office (Word, Excel, Outlook и т.д.) 2 28-04-2015 20:02
[решено] Щелчки при прокрутке колесиком мыши Виталик711 Непонятные проблемы с Железом 12 16-01-2014 18:09
[решено] Блики при прокрутке страницы. MiXalich Видеокарты 5 16-10-2013 18:06
Монитор - 19" новый дрожат строчки при прокрутке fa_sol Прочее железо 25 16-01-2009 15:20




 
Переход