Имеется файл .xlsx размером 1.2Мбайта, с двумя листами. На сервере с Core i7@4.2ГГц и десятками гигабайт свободной оперативной памяти Excel 2016 Excel грузит ядро процессора на 100%, а работать с файлом практически невозможно - подвисает даже отрисовка, смена положения курсора. Провали на другом ПК и с libreoffice - без изменений. Проблема точно в самом файле. При сохранении в .xls размер становится 20.6Мбайт. При пересохранении в .ods размер становистя 1.8Мбайт, но Excel зависает или очень медленно его открывает. Если распаковать .xlsx видно что место занимают некие drawing*.xml.
Сам файл заполнял не я, но похоже это делали методом копировать/вставить со всем оформлением источника. И это оформление сейчас и мешает. Картинка image1.png из файла:
очень похожа на html ячейку, которую похоже Excel пытается имитировать: Пример содержимого drawing2.xml
Вопрос: как очистить файл от ненужного оформления и вернуть возможность нормальной работы?
попробуйте открыть этот файл потом открыть свой файл и из своего запустить макросы как они отработают сохраните свой файл и посмотрите размер и отпишитесь о результате
Сергей, скрипт работает долго и старательно , но в моем случае оказался бесполезным. Запускал в обоих режимах - в полном и аккуратном. Не мудрствуя лукаво, удалил файлы drawing*.xml внутри распакованного .xlsx и запаковал что осталось обратно. При запуске Excel ругнулся, что файл поврежден и принялся его восстанавливать: