Большой размер файла

Автор Excelpraktik, 29.09.2014, 08:44

« назад - далее »

Excelpraktik

Добрый день.

Не очень большая, но проблема - у файл слишком большой размер. Причина понятна - слишком большой объем использованной области, точнее все строчки листа. Но как от этого избавиться? Решение к сожалению нашел одно - просто перенос в чистую книгу.

Но искусства ради - как по-другому решить?

Сразу скажу, что удалением всей области занимался, объектов нет. Макросов, именованных диапазонов тоже нет.

Прилагаю в архиве пустой файл, чтобы попрактиковаться - 2 мегабайта весит.

Serge 007

Цитата: Excelpraktik от 29.09.2014, 08:44...удалением всей области занимался...
Тогда должно было получиться
В архиве Ваш файл
Выделил все строки - удалил их - сохранил файл. Итог ≈ 172 Кб, в архиве ≈ 22  Кб
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Excelpraktik

Сергей, в какой версии делали?

Что интересно - Ваш файл все равно имеет большой диапазон - 65 536 строк, хотя он и пустой (у меня были весь миллион).

ShAM

Цитата: Serge 007 от 29.09.2014, 11:34
Цитата: Excelpraktik от 29.09.2014, 08:44...удалением всей области занимался...
Выделил все строки - удалил их - сохранил файл. Итог ≈ 172 Кб, в архиве ≈ 22  Кб
Сергей, я тоже самое делал. Результат 2,6 Мб и "заполнено" 1 млн. с лишним строк.

Excelpraktik

Не поленился, спустился на этаж ниже, попробовал на 2007м (до этого 2013) - не вышло.

Колитесь, Сергей :)

Serge 007

Цитата: Excelpraktik от 29.09.2014, 12:00Сергей, в какой версии делали?
2010
Другими версиями практически не пользуюсь :)

Цитата: ShAM от 29.09.2014, 12:11Сергей, я тоже самое делал. Результат 2,6 Мб и "заполнено" 1 млн. с лишним строк.
Да, извиняюсь, что ввёл в заблуждение

Поясню: у меня привычка сохранять все файлы в xls. Привычка настолько сильная, что я даже не замечаю этого...

И в этот раз я нажал кнопку на ПБД

Файл сохранился в xls, поэтому он
Цитата: Excelpraktik от 29.09.2014, 12:00...имеет большой диапазон - 65 536 строк...
После чего я автоматически пересохранил файл в xlsx для выкладывания на форуме, т.к. файл ТС имел именно такой формат...
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Excelpraktik

А какие еще могут быть способы уменьшения диапазона?

Serge 007

http://www.excelworld.ru/forum/3-57-1#2705
После применения макроса размер файла становится равным 8,59 Кб в xls

ЗЫ По хорошему, если в файле нет никакой ценной информации, то нет смысла его уменьшать. Проще удалить и создать новый ;)

Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Prist

#8
Цитата: Excelpraktik от 29.09.2014, 08:44
именованных диапазонов тоже нет
А вот и есть:
А вес всему придают записи в XML-схеме. Там почему-то они для всего столбца А.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453

Serge 007

Цитата: Prist от 29.09.2014, 14:37А вот и есть
И то верно :)

Посмотреть на скрытые имена можно так:Sub nam()
    Dim nm As Name
    For Each nm In ThisWorkbook.Names: nm.Visible = True: Next
End Sub


Пример здесь
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

ShAM

Ну, вот. А то мама - мама (с)  ;D

Димычч

Эксель предлагает на выбор несколько способов ухудшить жизнь пользователю в виде бесконтрольного увеличения размера файла, иногда даже если в нём вообще нет данных. Обычно это:
-старый формат xls, в котором данные хранятся, как мне кажется, по подобию неоптимизированной (несжатой) базы данных. Бывало, мои файлы доходили до 300 Мб, они же в архиве - 2,5 Мб. После появления 2007 наступила Аллилуйя. Главное, сохранять старые файлы не "сохранить как...", а через кнопку "Преобразовать". Вы будуте приятно удивлены, что сохранение в формате XLSB ещё больше уменьшает вес файла.
-невидимые "Имена" и "Стили", которые нафиг никому не нужны. Если когда-то в файл скопировали лист из "заражённого" файла, то, даже если на листе почти или совсем ничего нет, он может притянуть за собой тысячи левых имён и стилей. Я с удивлением обнаруживал в своих почти пустых файлах до 3,5 тысяч неиспользуемых имён.
-"зарезервированные" лишние ячейки на листе под таблицей или справа от неё. это можно проверить, двигая ползунок прокрутки листа. Доведя его до самого низа, мы должны видеть нижнюю строку таблицы, а не строку № 1048576 или столбец XFD. Это происходит если случайно вставить формулу во весь столбец или ткнуть Контрл-Стрелка вниз, а потом случайно ввести в дальние ячейки какой то символ. Звучит глупо, но многие на этом попадались.
Обычно я лечу файлы так:
1. Если старый формат, преобразую в новый,
2. Копирую все листы в новую книгу (по-умолчанию XLSX), затем "сохраняю как XLSB". Важно: если скопировать листы сразу из XLS, то расширение нового файла тоже будет XLSX, но внутри по структуре он будет оставаться XLS. Это косяк экселя.
3. Макросом, описанным Serge 007 отображаю невидимые имена, и удаляю их все одновременно
4. Удаляю лишние стили (с автоматическим удалением есть нерешенная проблема https://forum.msexcel.ru/index.php?topic=2539.new#new)
5. Проверяю на наличие лишних зарезервированных ячеек с помощью ползунка прокрутки. Если есть, выделяю диапазон строк/столбцов от самой нижней/правой до таблицы и делаю Главная-редактирование-очистить-очистить всё.

Prist

Не всегда новый формат лучше. В данном случае основной объем создает как раз схема XML файла, в которой прописаны свойства для целого столбца А(т.е. для миллиона ячеек). Притом даже при удалении столбца проблема не уходит - т.е. схема не обновляется. Лечится только обновлением схемы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453

Димычч

А почему XLSB меньше XLSX? И почему его не используют по-умолчанию?

Excelpraktik

1. Диалоговое окно "управление именами" - никогда не встречалось - это где?
2. где можно посмотреть
Цитата: Prist от 29.09.2014, 14:37
А вес всему придают записи в XML-схеме. Там почему-то они для всего столбца А.