Как уменьшить размер файла и ускорить его
Если в один прекрасный момент вы осознаете, что ваш основной рабочий файл в Excel разбух до нескольких десятков мегабайт и во время открытия файла можно смело успеть налить себе кофе, то попробуйте пробежаться по описанным ниже пунктам — возможно один или несколько из них укоротят вашего «переростка» до вменяемых размеров и разгонят его «тормоза» 🙂
Проблема 1. Используемый диапазон листа больше, чем нужно
Если ваша таблица занимает 5 на 5 ячеек, то это отнюдь не означает, что Excel запоминает при сохранении этого файла только 25 ячеек с данными. Если вы в прошлом использовали какие-либо ячейки на этом листе, то они автоматически включаются в используемый диапазон (так называемый Used Range), который и запоминается при сохранении книги. Проблема в том, что при очистке используемых ячеек Excel далеко не всегда автоматически исключает их из используемого диапазона, т.е. начинает запоминать в файле больше данных, чем реально имеется.
Проверить это просто – нажмите на клавиатуре сочетание клавиш Ctrl+End и посмотрите куда переместится активная ячейка. Если она прыгнет на фактическую последнюю ячейку с данными на листе – отлично. А если вдруг ускачет сильно правее и/или ниже «в пустоту» – дело плохо: все эти ненужные пустые ячейки Excel тоже запоминает внутри файла.
Лечится это, тем не менее, достаточно легко:
- Выделите первую пустую строку под вашей таблицей
- Нажмите сочетание клавиш Ctrl+Shift+стрелка вниз – выделятся все пустые строки до конца листа.
- Удалите их, нажав на клавиатуре Ctrl+знак минус или выбрав на вкладке Главная – Удалить – Удалить строки с листа (Home – Delete – Delete rows) .
- Повторите то же самое со столбцами.
- Повторите все вышеописанные процедуры на каждом листе, где при нажатии на Ctrl+End активная ячейка перемещается не на фактическую последнюю ячейку с данными а «в пустоту» ниже и/или правее.
- Сохраните файл (обязательно, иначе изменения не вступят в силу!)
Если в вашей книге очень много таких листов, то проще, наверное, использовать короткий макрос.
Проблема 2. Используется старый формат XLS вместо новых XLSX, XLSM и XLSB
Много лет и версий подряд еще с начала девяностых в Excel был один формат файлов — XLS. Это, конечно, убирало проблемы совместимости, но, сам по себе, этот формат давно устарел и имел много неприятных недостатков (большой размер, непрозрачность внутренней структуры данных, легкую повреждаемость и т.д.)
Начиная с верии Excel 2007 Microsoft ввела новые форматы сохранения файлов, использование которых заметно облегчает жизнь и — ваши файлы:
- XLSX — по сути является зазипованным XML. Размер файлов в таком формате по сравнению с Excel 2003 меньше, в среднем, в 5-7 раз.
- XLSM — то же самое, но с поддержкой макросов.
- XLSB — двоичный формат, т.е. по сути — что-то вроде скомпилированного XML. Обычно в 1.5-2 раза меньше, чем XLSX. Единственный минус: нет совместимости с другими приложениями кроме Excel, но зато размер — минимален.
Проблема 3. Избыточное форматирование
Сложное многоцветное форматирование, само-собой, негативно отражается на размере вашего файла. А условное форматирование еще и ощутимо замедляет его работу, т.к. заставляет Excel пересчитывать условия и обновлять форматирование при каждом чихе.
Оставьте только самое необходимое, не изощряйтесь. Особенно в тех таблицах, которые кроме вас никто не видит. Для удаления только форматов (без потери содержимого!) выделите ячейки и выберите в выпадающем списке Очистить — Очистить форматы (Clear — Clear Formats) на вкладке Главная (Home) :
Особенно «загружают» файл отформатированные целиком строки и столбцы. Т.к. размер листа в последних версиях Excel сильно увеличен (>1 млн. строк и >16 тыс. столбцов), то для запоминания и обрабоки подобного форматирования нужно много ресурсов. В Excel 2013-2016, кстати, появилась надстройка Inquire, которая содержит инструмент для быстрого избавления от подобных излишеств — кнопку Удалить избыточное форматирование (Clean Excess Cell Formatting) :

Она мгновенно удаляет все излишнее форматирование до конца листа, оставляя его только внутри ваших таблиц и никак не повреждая ваши данные. Причем может это сделать даже для всех листов книги сразу.
Если вы не видите у себя в интерфейсе вкладку Inquire, то ее необходимо подключить на вкладке Разработчик — Надстройки COM (Developer — COM Addins) .
Проблема 4. Ненужные макросы и формы на VBA
Большие макросы на Visual Basic и особенно пользовательские формы с внедренной графикой могут весьма заметно утяжелять вашу книгу. Для удаления:
- нажмите Alt+F11, чтобы войти в редактор Visual Basic
- найдите окно Project Explorer’а (если его не видно, то выберите в меню View — Project Explorer)
- удалите все модули и все формы (правой кнопкой мыши — Remove — дальше в окне с вопросом о экспорте перед удалением — No):
Также код может содержаться в модулях листов — проверьте их тоже. Также можно просто сохранить файл в формате XLSX без поддержки макросов — все макросы и формы умрут автоматически. Также можно воспользоваться инструментом Очистить книгу от макросов из надстройки PLEX.
Проблема 5. Именованные диапазоны
Если в вашем файле используются именованные диапазоны (особенно с формулами, динамические или получаемые при фильтрации), то имеет смысл от них отказаться в пользу экономии размера книги. Посмотреть список имеющихся диапазонов можно нажав Ctrl+F3 или открыв окно Диспетчера имен (Name Manager) на вкладке Формулы (Formulas) :
Также вычищайте именованные диапазоны с ошибками (их можно быстро отобрать с помощью кнопки Фильтр в правом верхнем углу этого окна) — они вам точно не пригодятся.
Проблема 6. Фотографии высокого разрешения и невидимые автофигуры
Если речь идет о фотографиях, добавленных в книгу (особенно когда их много, например в каталоге продукции), то они, само-собой, увеличивают размер файла. Советую сжимать их, уменьшая разрешение до 96-150 точек на дюйм. На экране по качеству это совершенно не чувствуется, а размер файла уменьшает в разы. Для сжатия воспользуйтесь кнопкой Сжать рисунки (Compress pictures) на вкладке Формат (Format) :
Кроме видимых картинок на листе могут содержаться и невидимые изображения (рисунки, фотографии, автофигуры). Чтобы увидеть их, выделите любую картинку и на вкладке Формат (Format) нажмите кнопку Область выделения (Selection Pane) .
Для удаления вообще всех графических объектов на текущем листе можно использовать простой макрос:
Проблема 7. Исходные данные сводных таблиц
По-умолчанию Excel сохраняет данные для расчета сводной таблицы (pivot cache) внутри файла. Можно отказаться от этой возможности, заметно сократив размер файла, но увеличив время на обновление сводной при следующем открытии книги. Щелкните правой кнопкой мыши по сводной таблице и выберите команду Свойства таблицы (Pivot Table Properties) — вкладка Данные (Data) — снять флажок Сохранять исходные данные вместе с файлом (Save source data with file):
Если у вас несколько сводных таблиц на основе одного диапазона данных, то сократить размер файла здорово помогает метод, когда все сводные таблицы после первой строятся на основе уже созданного для первой таблицы кэша. В Excel 2000-2003 это делается выбором переключателя на первом шаге Мастера сводных таблиц при построении:
В Excel 2007-2016 кнопку Мастера сводных таблиц нужно добавлять на панель вручную — на ленте такой команды нет. Для этого щелкните по панели быстрого доступа правой кнопкой мыши и выберите Настройка панели быстрого доступа (Customize Quick Access Toolbar) и затем найдите в полном списке команд кнопку Мастер сводных таблиц (PivotTable and PivotChart Wizard) :
Проблема 8. Журнал изменений (логи) в файле с общим доступом
Если в вашем файле включен общий доступ на вкладке Рецензирование — Доступ к книге (Review — Share Workbook) , то внутри вашего файла Excel на специальном скрытом листе начинает сохраняться вся история изменений документа: кто, когда и как менял ячейки всех листов. По умолчанию, такой журнал сохраняет данные изменений за последние 30 дней, т.е. при активной работе с файлом, может запросто занимать несколько мегабайт.
Мораль: не используйте общий доступ без необходимости или сократите количество дней хранения данных журнала, используя вторую вкладку Подробнее (Advanced) в окне Доступ к книге. Там можно найти параметр Хранить журнал изменений в течение N дней (Keep change history for N days) или совсем отключить его:

Проблема 9. Много мусорных стилей
Про эту пакость я уже подробно писал ранее в статье о том, как победить ошибку «Слишком много форматов ячеек». Суть, если кратко, в том, что если вы разворачиваете на вкладке Главная список Стили ячеек (Home — Cell Styles) и видите там очень много непонятных и ненужных стилей, то это плохо — и для размера вашего файла Excel и для его быстродействия.
Удалить ненужные стили можно с помощью макроса или готовой команды из надстройки PLEX.
Проблема 10. Много примечаний
Примечания к ячейкам, конечно, не самый вредный момент из всех перечисленных. Но некоторые файлы могут содержать большое количество текста или даже картинок в примечаниях к ячейкам. Если примечания не содержат полезной для вас информации, то их можно легко удалить с помощью команды на вкладке Главная — Очистить — Очистить примечания (Home — Clear — Clear Comments) .
Работа с большими файлами экселя
Что такое большой файл? Ну так чтобы реально большой? В бытность свою я думал, что это файлик на 50-60 тыс строк записей. И оставался я бы в таком неведении до сих пор, но пришлось выполнять один проект, в котором надо было работать с файлами на 600-800 тыс строк. Хождение по мукам — под катом:
Что сначала
А сначала, друзья мои, ринулись мы в самое простое, что можно придумать. Interop.Excell, и все дела. Казалось. Ага, щаз. Как показали тестовые испытания, данный способ открытия приводил к тому, что за час было прочитано 200 тыс строк экселя, приложение активно потребляло оперативку, и раздвигало плечами остальные процессы на машине. Кончилось все ожидаемо, но следственный эксперимент надо было довести до конца — на 260 тысячах приложение свалилось в OutOfMemory на машине с 4 Гб. Стало понятно, что в лоб решить проблему не получится
Google it
Сколько нам открытий чудных… Гугль привел, как ни странно, в msdn, где я познакомился с двумя методами открытия очень больших файлов: DOM и SAX. Уж за давностью времен не вспомню, но какой то из них отвалился по причине опостылевшей уже на тот момент OutOfMemory, а второй был совершенно неюзабелен в плане доступа к данным. Почему — читаем ниже.
Из чего же, из чего же
Сделаны наши эксельки. Ни для кого, кто решил копнуть формат чуть глубже, не станет секретом, что в отличие от бинарным xls, xlsx — по сути zip архив с данными. Достаточно поменять расширение ручками и распаковать архив в папку — и мы получим всю внутреннюю структуру документа, что есть не что иное, как набор xml файлов и сопутствующей информации. Как оказалось, в корневом xml нет текстовых данных. Вместо этого мы имеем набор индексов, которые ссылаются на вспомогательный файл, в котором представлены пары «ключ/значение» Одним из вышеприведенных способов открыть то файл можно, но при этом нужно копаться в сопутствующих файлах и вытаскивать из них текстовые значения. Мрак.
И отступила тьма
После долгих мытарств и стенаний родилось следующее:
Наши любимые юзинги, которые некоторые личности забывают указывать:
using System;
using System.Collections. Generic ;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
* This source code was highlighted with Source Code Highlighter .
Собственно, сам код:
public delegate void MessageHave( string message);
public delegate void _DataLoaded( List < string > data);
public delegate void _NewProcent( int col);
public static _DataLoaded DataLoaded;
public static _NewProcent NewProcent;
public static MessageHave MessageHave_Event;
public static void ReadData( object data)
<
//Приводим объект с переданной парой «имя файла»-«выбранный лист экселя»
var keyValuePair = (KeyValuePair< string , string >)data;
using ( var cnn = new OleDbConnection( @»Provider=Microsoft.ACE.OLEDB.12.0;Data Source #A31515″>@»;Extended Properties #A31515″>»Excel 12.0;HDR=No;IMEX=1″ «» )
)
<
int calc = 1000;
MessageHave_Event( «Открытие соединения провайдера» );
cnn.Open();
try
<
var cmd = new OleDbCommand( String .Format( «select * from [<0>]» , keyValuePair.Value), cnn);
using (OleDbDataReader dr = cmd.ExecuteReader())
<
var lines = new List < string >();
int > if (dr != null )
while (dr.Read())
<
string text = «» ;
for ( int i = 0; i < dr.FieldCount; ++i)
<
if (dr[i] != null )
text += dr[i] + «^» ; //добавляем разделитель между ячейками
else
text += «^» ;
>
lines.Add(text);
id++;
if (id == calc)
<
NewProcent(id);
calc += 1000;
>
>
DataLoaded(lines);
>
cnn.Close();
>
catch (Exception ex)
<
MessageHave_Event( «Exception: » + ex.Message);
cnn.Close();
>
>
>
* This source code was highlighted with Source Code Highlighter .
Код показал производительность порядка 15-20 минут на файлах в 600-800 тыс строк записей.
Если кому то реализация покажется кривой — сильно не пинать 🙂 Выслушаю все комментарии
Большой объем файла excel
Смотрите такжеАндрей Вы в коде.с ув.Input #1, s без потери данных. Excel будет думатьRows(n).RowHeight = aR(n)Guest рекомендовал бы попробоватьСталкивался ли кто-нибудь документа). Один весит нет возможности, потому 32-разрядной версии Office1 999 999 997 службах Excel: модели данных можетПримечание:: EUR/USD,20110901 00:00:00.320,1.43634,1.43649но с нимp.s. есть лиIf i >
как можно разбить что во всехNext n: А как найти перенести данные в с такой же 267 кб, другой как файл ведется максимальный размер файлаКоличество строк в таблицепо умолчанию 10 МБ; достигать 500–700 МБ, но
Ограничения объема файлов
Мы стараемся какEUR/USD,20110901 00:00:00.434,1.43634,1.43648 не получается. возможность с Вами 5 Then такой большой файл? ячейках до 30000For n = эти скрытые графические
Excel 2007 - проблемой — сверхбольшие 9,23 мб, третий в «онлайне» и для книги, содержащей модель1 999 999 997максимум 2 ГБ. (2) может быть и можно оперативнее обеспечиватьEUR/USD,20110901 00:00:01.406,1.43635,1.43647мне кажется, зацикливается связаться через скайпii = ii2 варианта.
чего нибудь есть. 1 To iAntK объекты? :) там размер нового размеры (в мегабайтах) вообще 25,7 мб! выводы можно судить
данных, составляет 2 ГБ,
Длина строки
Excel Online В Office
меньше, если загружаются вас актуальными справочнымиEUR/USD,20110901 00:00:02.118,1.43635,1.43646 и после создания или айсикью? + 1или в одном Поэтому выход. ВыделитьColumns(n).ColumnWidth = aK(n)KuklP формата файлов в экселевских файлов? (грузит всю систему по бэкапам сделанные
а максимальный объем536 870 912 байт 365 3 другие модели данных материалами на вашемEUR/USD,20110901 00:00:02.651,1.43635,1.43646
первого фала стоит.
HugoClose #2 файле создать много
пустые ячейки (желательноNext n
: Ну выкладывал же среднем раз в
andy1618 и просто отказывается годично/полугодично.
памяти, который может
(512 МБ), эквивалентно
Предельный общий размер файла и надстройки.
языке. Эта страницаEUR/USD,20110901 00:00:03.208,1.43635,1.43645В Access пробовал,: Да, с запятымиOpen «c:\» & новых листов в всю строку илиApplication.DisplayAlerts = False на форум ReduceSize,
5-7 меньше аналогичного: Ещё мысли:
В чем причина, использовать книга, составляет 268 435 456
64-разрядная среда не накладывает
переведена автоматически, поэтому
EUR/USD,20110901 00:00:03.268,1.43635,1.43646 спасибо за совет. там была какая-то ii & «.txt» каждом будет по столбец) выбираем удалить.Workbooks(sFil2).SaveAs sKat & поищите. для Excel 2003.1) попробовать установатьКакие критерии такого подскажите пожалуйста? 4 ГБ. Если любое символам в Юникоде
Ограничения основного содержимого жестких ограничений на ее текст можетEUR/USD,20110901 00:00:03.418,1.43635,1.43645сначала даже обрадовался, беда (точно не
65000. Потом сохраните файл. «\» & «(2)»
пароль на файл разброса по размеру?
п.с. прошу прощения из этих ограничений (256 мегасимволам)
листа (все данные,
размер файлов. Размер
содержать неточности иEUR/USD,20110901 00:00:09.406,1.43634,1.43645
но почему-то не помню, но сталкивался), #2или создать много Размер уменьшается. & sFil1: Есть файл 1: Попробовал как то и сохранить. Потом
Экспериментально-опытным путем уже за мой детский превышено, книгу нельзяВнимание: хранящиеся не в книги ограничен только грамматические ошибки. ДляEUR/USD,20110901 00:00:09.408,1.43637,1.43645 получается работать с я поэтому обычноi = 0 новых файлов эксель.Также посмотрите болееWorkbooks(sFil1).Close savechanges:=True лист заполнено 66 форму, созданную для
пароль снять. отчаялся выяснять. Единственный вопрос сохранить. модели данных) определяются объемом доступной памяти нас важно, чтобыEUR/USD,20110901 00:00:09.419,1.43637,1.43647 полученными данными, говорит, через FSO текстовыеEnd Ifс уважением. спасибо.
полный вариант ответаApplication.DisplayAlerts = True столбцов и 15 общения с пользователем,2) выявить виновный критерий выловил -AndreTMВ случае появления этогоИсключения ограничения строки
согласно ограничениям размера
Другие ограничения
и ресурсами системы. эта статья былаEUR/USD,20110901 00:00:09.439,1.43637,1.43648 что нельзя вносить файлы читаю -
на вопрос КакEnd Sub
количество листов в: Без примера файла
сообщения для сохранения
применяются к функциям, файлов для книг
SharePoint Server 2013 (1)
вам полезна. Просим
изменения( алгоритм такой же,
: Точно файл Экселя?
уменьшить размер файла
весит с формулами кучу рисунков в один такой бывает) книге. Но для — ну никак
книги необходимо сократить в которых строки
в SharePoint Online.Максимальный размер файла для вас уделить паруEUR/USD,20110901 00:00:09.508,1.43637,1.43648Hugo но механизм немного
Close #12007 Excel specifications
Excel? http://shorttext.com/d5ZdyPf1bEx7 а
качестве заливки фона.
методом «половинного деления»
данного примера он
число таблиц, строк
ограничены 2 097
1 на сервере SharePoint, отправки в библиотеку секунд и сообщить,
другой.Close #2 and limits:
функция ВРП очень
Получилось очень красиво!
См. также
(скопировать одну половину везде одинаков!: засада или столбцов, которые
152 символами кодировки
обратите внимание, что документов: помогла ли она
Превышен максимальный объем памяти или размер файла
EUR/USD,20110901 00:00:09.511,1.43639,1.43647 получал.Скайп есть, ноEnd SubWorksheet size 1,048,576 помещается. было 16 стало сильно увеличивает размерНо грузиться стало листов в новыйПомогите, плз!. почта есть? связываются, импортируются или Юникода: значения по умолчанию,по умолчанию 50 мегабайт вам, с помощьюEUR/USD,20110901 00:00:09.514,1.43639,1.43648На счёт зацикливания тут не дамАндрей rows
А вот еще 13 не на файлов. — очень медленно! файл, затем вторуюslanп.с. уж очень копируются в окноCONCATENATE и оператор объединения которые значительно меньше, (МБ) кнопок внизу страницы.EUR/USD,20110901 00:00:09.751,1.4364,1.43648 — попробуйте тестово — пишите к: Hugo, спасибо большое.
Думаю, что это инструкция как уменьшить много, но всеKuklP ;) в другой файл,: посмотреть, что дает конфиденшнл фаил фор Power Pivot. Для infix
чем максимальное допустимое.2 гигабайта (ГБ) максимальное Для удобства такжеEUR/USD,20110901 00:00:09.958,1.43638,1.43648 резать файл например вечеру на почту буду пробовать. текст. Его можно
размер файла Excel же.: Руслан, выполните макрос.Ольчик выяснить в какой нажатие ctrl+end на май компани этого существует дваФункция ДАТАЗНАЧ Обратитесь к администратору 2 приводим ссылку наEUR/USD,20110901 00:00:09.959,1.43643,1.43648 по 20 строк (в подписи замаскирована),Hugo
построчно читать куда http://www.kakprosto.ru/kak-94091-kak-umenshit-razmer-excel-faylaKuklP Увераю, Вы удивитесь.: Еще стоит проверить части засада, повторить каждом из листовHugo способа:
Большой размер файлов. Эксель 2007
SharePoint о вызовеМаксимальный размер файла для
оригинал (на английскомHugo и погоняйте код
аськи нет.: Ну и если угодно, разбивая наУдачной ортимизации!: Рад, что сумелKuklP нет ли циклических пока на останетсяGuest: конфиденшнл я быУдалите все ненужные таблицы.Функция НАЙТИ ограничения объема файлов, обработки книги в языке) .: Вполне качественно разбилось. по F8.Покажите пример своего идти дальше - лету по условиям.Abram pupkin
помочь.: Для Саши.
ссылок в документе. один лист): посмотрел: переходит в
конечно не отсылал. Удалите их изФункция ФОРМАТ
если ваш файл службах Excel:Модель данных — внедренные
Кстати, 39 символовТак сразу будет файла на пару
то можно кодомАндрей: Аналогичный вопрос поднимался
31312 ого!РусланА также посмотреть3) попробовать открыть крайнюю правую ячейкуВы посмотрите что
окна Power Pivot.Функция ЛЕВСИМВ
слишком большой дляпо умолчанию 10 МБ; данные в книгу
в этом примере видно — появляются
десятков строк - сразу из большого
: Наверное Вы правы. на Excel-форуме
elena: Ругается не установлена ли и сохранить файл заполненного диапазона на там с записью Запустите надстройку PowerФункция ДЛСТР
отправки или визуализации.максимум 2 ГБ. (2) Excel, которая обеспечивает
не выдерживается. Обычно новые файлы или может ещё кто файла читать нужную это файл формата
Сергей каханский: Помогло только копированиена lAntR =
защита на рабочую на другом компьютере каждом листе. истории изменений, если Pivot в MicrosoftФункция СТРОЧН Дополнительные сведения о
От чего зависит изменение размера файла MS Excel?
Excel Online В Office питание визуализации данных, 45, но не нет. поможет, а я информацию, его не CSV.: я частенько сохраняю области, содержащей полезную Cells.Find(What:=»*», SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row книгу. Вот у (вдруг вирусы какиеА что должно этот файл в Excel надстройки ,Функция ПСТР
связанные с программным 365 3
например отчеты сводной всегда :(Может быть просто скоро домой (пару разбивая. Смотря чтоможете подсказать, что большие файлы в
информацию, на новый
я вот тут меня такая проблема есть) или в было это дать?
общем доступе. Возможно чтобы открыть окноФункция ЗАМЕНИТЬ обеспечением и пороговыеПредельный общий размер файла
таблицы, сводной диаграммыДмитрий
долго процесс идёт. часов в сети нужно получить - значит читать куда
формате двоичной книги лист и удаление нашел
была, когда я более новой версииslan её нужно обнулить. просмотра.REPT, ограничение относится к
значения SharePoint Server — 250 МБ. и Power View.: фаил xls имеет
Андрей не буду).
допустим подсчитать общие угодно, разбивая на эксель, место экономится старого листа.
Sub ReduceSize() установила пароль на Excel: количество заполненых ячеекSanjaПовторно импортируйте данные, установив входным параметрам и 2013. Ограничения основного содержимого В этой статье
большой размер и: Hugo, не получаетсяHugo суммы по позициям, лету по условиям? до 3 раз,
Ни выделение свободногоDim lAntR As
всю книгу. Потом4) картинок, надеюсь, сильно влияет на: Не однократно обсуждалось.
фильтры, чтобы уменьшить результату
2 листа (все данные, описываются максимальное и не сохраняет форматирование понять вашу почту.
: Про Line Input или количество повторов
вопрос чем-то похож если файл большой пространства и очистка, Long
его убрала и на листах нет? размер файла.Air число строк добавленыФункция ПРАВСИМВМаксимальный объем отправляемых хранящиеся не в настраиваемые ограничения для файла.Вам не сложно это Вы хорошо
уникальных (раз там на этот и текста много. ни макрос (правдаDim iAntK As установила защиту на (иногда бывают проблемы
но если оно: файл в общем в модель данных.Функция ПОИСКдолжен быть настроен
модели данных) определяются книг Excel, содержащиефаил в общем будет добавить в прочитали (добавил в один столбец) можноHugoLogan
он не корректно Integer каждый лист. Размер из-за несжатого формата у вас сильно доступе. Чтобы избежать путаницы
SUBSTITUTE — ограничение относится для каждого веб-приложения согласно ограничениям размера
модели данных. доступе. отделы формируют скайп?? код слово Line): сразу сделать, читая
: Погуглите как читать: Здравствуйте! работал, разбираться неDim aR() As файла намного уменьшился. изображений) не отличается. подскажите пожалуйста, где
в модели данных, к входному параметру администратором SharePoint. файлов для книгКниги, которые содержат модель
там отчеты. имеетангл. буквами словоSub Test2() построчно. кодом текст построчноПрошу подсказать, каким стала), ни изменение SingleKessGuestandy1618 смотреть историю изменений?
удалите существующая таблица и результатуМаксимальный размер книги в SharePoint Online. данных и визуализации размер уже 40мб. снеговик_
Dim s As
Ну и хороший (или на сайте образом можно открыть
формата при сохранении\пересохраненииDim aK() As: Попробовал сахранить в: Попробуй выявить скрытые
: Можно попробовать переместитьп.с. спасибо за перед импортом ихФункция ВРЕМЗНАЧв службах ExcelPower BI Pro или данных, часто бывают хотя ничего критическогобольшое спасибо String, i As вариант — подключить EducatedFool примеры кода
большой файл (около не помогли. Single другом фармате, а графические обекты. У листы в новую понимание о конфиденциальности заново. Будет необходимо
Функция СЖПРОБЕЛЫ должен быть настроен бесплатной службы очень большими и там нет, толькоHugo
Long, ii As для анализа csv посмотрите, или вот: 25 МБ) вKuklPDim n As
потом этот файл
меня было такое. книгу. Обычно помогает4 вручную создать связиФункция ПРОПИСН администратором службы. Настройка0–250 МБ иногда превышают ограничения формулы и ссылки.
: Последнее получил, только Long к Access, как ) формате *.csv таким: Возможно у Вас
Integer опять сахранил в При копировании файла
избавиться от старого
Sanja для подключения вК началу страницы максимального размера файла
Просмотр как уменьшить размер объема файлов, устанавливаемые фаил «связан» с там отвечать не
Open «D:\csv\razbitj\пример.csv» For в той темеДалее считаете строки образом, чтобы не там много скрытыхDim sFil1 As xls формате, файл
они множились и мусора.к сожалению у
модели. Создание отношенияСоздание эффективным использованием памяти отправить на TechNet
книги Excel для SharePoint Online и
другими файлами xls. на что было
Input As #1 упоминали.
— пока порог потерять из него
объектов и\или имен.
String уменьшился примерно в
файл заметно тяжелелЛибо сконвертировать книгу
меня ограниченный доступ между двумя таблицами
с помощью Excel можно найти дополнительные
получения Power BI. Office Online в
открывают через 10 :)
ii = 1Андрей
не достигнут, пишите никакой информации.
Нужно видеть файл,Dim sFil2 As
10 раз.
с каждым разом.
в какой-нибудь другой
в интернете (вариант или Создание связей
и надстройки Power сведения для администраторов.
Продукт или платформа
Office 365.
офис. 3й неВечером из дома
Open «c:\» &
: Hugo, все работает.
их в одноЕсли открывать просто
чтобы помочь.
String
Uncle_RS
Лузер формат, а потом
«юз гугл» не
в представлении схемы
Pivot модели данных
3 ограничения в Office
Максимальный предел
В таблице ниже указано, открывает его вообще.
в скайп добавлю.
ii & «.txt»
спасибо большое. место, как перевалили
в лоб, то
Большие файлы лучше
Dim sKat As
: Как вариант: переходим: Сводных таблиц в обратно.
прокатывает) . это
более подробные сведения.
Загрузка Оптимизатора размера книги
365 не настраиваются,Excel 2013 максимальные пределы объема
пишет «слишком большоеАндрей For Output Asтолько такой вопрос.
— считаете заново эксель выдаёт сообщение, на файлообменник.
к самой нижней файлах нет? РазмерСаша просто чудо, чтоФильтрация данных, которые ужеPower Pivot: мощные средства
но может изменяться.В 32-битной среде выделяется памяти и размера количество форматов ячеек.: Hugo, возникла такая #2в моем файле и пишите в
что файл загруженviktturDim sArk As ячейке с данными, файла сильно зависит: Да, спасибо.
доступ к этому были импортированы (как
анализа и моделирования Установите Office 365 2 ГБ виртуального адресного
Как уменьшить размер файла Excel.
файла для книг
до одного времени идеяWhile Not EOF(1) данные записанны, в другое. не полностью.
: Можно мне на String затем Ctrl+Shift+вниз, затем от того какА в какие ресурсу есть
описано в разделе данных в Excel для описаний корпоративных пространства, предоставленного в в Excel и все было нормально,если учитывать запятыеi = i + 1 таком виде вДумаю, вполне приемлемоGuest почту.sFil1 = ActiveWorkbook.Name Shift+пробел, затем Правка-Очистить-Все. кеш в сводных форматы можно конвертировать,Sanja Фильтрация данных вПримечание: услуг для получения совместный доступ Excel, на различных платформах. потом перестал сохранять
сложно.Line Input #1, одну ячейку из одного csv: Какой XL -Народ помогите . sKat = ActiveWorkbook.Path
Аналогично повторяем для хранится. чтобы не повредить: Скопировал Вам страничку,
формулах DAX) не
Мы стараемся как последних сведений. Можно книге и надстройкам,
Советы о том, форматирование. т.е. переносыесть ли возможность s01.03.2012 00:00:00.144,12,13,1.20,2.25 первая нагенерить десяток других столько строк -Мне необходимо уменьшить
Как открыть большой файл БЕЗ потерь
sArk = ActiveSheet.Name самой правой ячейки
Николай Павлов содержимое файла? может поможет решение для этой можно оперативнее обеспечивать также просмотретьОграничения SharePoint которые работают в как уменьшить размер
текста, заливки и вставить в вашIf i > ячейка (имя брать родное
2003 около 65 рабочий файл Excel.lAntR = Cells.Find(What:=»*», с данными (переходим: Добавлю свои 5andy1618Air
ошибки. Фильтрация импортируемых вас актуальными справочными Online. том же процессе. модели читайте в тд — не код простой счетчик
5 Then01.03.2012 00:00:00.287,13,15,1.30,2.35 вторая и дописывать «подномер» тыс, 2007 >
Уже все перерыл, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
к самой правой, копеек:: Тут сильно от: Спасибо, статья на данных влияет только
материалами на вашемК началу страницы Доля адресного пространства
статье Создание эффективным сохраняет, хотя данные
символов?
ii = ii ячейка — по ссылке более мульона. «Разбить» а конкретного ответа
iAntK = Cells.Find(What:=»*», затем Ctrl+Shift+вправо, Ctrl-пробел,
версии Excel зависит. самом деле помогла
на отображение данных. языке. Эта страница
В следующей таблице приведен модели данных может
использованием памяти с сохраняет вроде. Если01.03.2012 00:00:00.287,13,15,1.30,2.35 + 1разделитель — запятая.
firststeps всё в для удобоваримости. так и не SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Правка-Очистить-Все). Связи, поубивать все Скорее всего, вкорень зла был
К началу страницы переведена автоматически, поэтому
максимальный размер и достигать 500–700 МБ, но помощью Excel и переведу в 10если у насClose #2после Вашего макроса
общем есть).logsp нашел.ReDim aR(lAntR)Сохраняем файл. ненужные внешние связи, какую-нибудь более старую найден
Air ее текст может количество различных объектов, может быть и надстройки Power Pivot офис — потеряется такой формат. чтобы счетчикOpen «c:\» &
оно так иHugo: У меня вВесит 10 метров,ReDim aK(iAntK)
На работе часто
поскольку он их версию Excel (посейчас обрабатываю файл: Добрый день форумчане,
содержать неточности и заданных в модели
меньше, если загружаются
модели данных. связь с другими посчитал из исходного ii & «.txt»
записывает.
: Вот, на основе
excel 2007 файл
уже все чтоFor n =
вижу, что неопытные буферизует внутри файла.
уму, он должен
в аккурат, чтобыстолкнулся с проблемой, грамматические ошибки. Для данных.
другие модели данных
Вы можете также работает
файлами.
файла 39 символов,
For Output As
01.03.2012 00:00:00.144
от firststeps (пути
есть, которой весить можно удалил остался 1 To lAntR
пользователи выделяют весьТакже возможны «Фантомные предупредить в случае, не поехали ссылки. решил проконсультироватся с нас важно, чтобыОбъект и надстройки. оптимизатор размера книги.Что можно сделать т.е. разделитель четко #212 поставьте свои, вместо 65 мб в 1 лист с
aR(n) = Rows(n).RowHeight столбец (строку) и ссылки» — оставшиеся если что-то неп.с.вот в 3-х профессионалами.
эта статья былаВерхний предел
64-разрядная среда не накладывает
Он анализирует книгу
что бы он через 39 символов. i = 013
5 напишите 65000): *.xlsx, открывается без
таблицой, а весNext n
применяют форматирование (сетку
неубитыми связи с поддерживается). листах (всего около
Файл эксель с
вам полезна. Просим
Символы в имени таблицы
жестких ограничений на
Excel и по
начал сохранять форматированиезаписал их вEnd If1.20
Sub Test() проблем.
не изменился.For n = или цвет и внешним миром, вНо, всё-таки, сначала 20), что раздули
начала года увеличился
вас уделить пару или столбца. размер файлов. Размер возможности сжимает Дополнительно.
текста? ПОчему не одну ячейку иPrint #2, s2.25Dim s AsЯ бы вамNikolay 1 To iAntK т.д.). Размер файла окне Правка - стоит попытать счастья
мой файл в с 3,5 мб секунд и сообщить,100 символов книги ограничен только Загрузка оптимизатора размера
сохраняет? пошел дальше.Wendя вычитал, чтобы String, i As посоветовал excel 2007: В Excel, еслиaK(n) = Columns(n).ColumnWidth
при этом увеличивается Связи не видны, с перемещением листов 10 раз, меньше до 38 мб
помогла ли она
Количество таблиц в модели объемом доступной памяти книги.Pelena
мне кажется, тогдаClose #1
он не считал
Long, ii As для открытия больших сделал Автозаполнение иNext n
в разы.
убиваются с помощью
в новую книгу всего ожидал косяк
. файл ежедневно вам, с помощью
2,147,483,647 и ресурсами системы.
Продукт или платформа
: Почитайте должно получится.Close #2 запятую разделителем нужно
Long
файлов.
допустим протащил его
Application.CutCopyMode = False
Sh_Alex
специальных надстроек.
— так меньше
увидеть. обновляется через связи
кнопок внизу страницы.Количество столбцов и вычисляемыхSharePoint Server 2013 (1)Максимальный предел
http://www.excelworld.ru/forum/2-2179-1#24026с ув. спасибо.End Sub
вставить Line Inpute.Open «D:\csv\razbitj\пример.csv» For
Андрей на 1000 строкRange(Cells(1, 1), Cells(lAntR,
: Я провел небольшойПроверить наличие макросов
риск чего-нибудь испортить.Саша и в нем Для удобства также столбцов в таблице.Максимальный размер файла для
Excel 2013http://www.excelworld.ru/forum/3-57-1Hugo
Владимирно пока не Input As #1: Здравствуйте. вниз, то Excel iAntK)).Copy
эксперимент над прикрепленным в меню СервисСаша: Дано: 3 практически
задействованы макросы. Но приводим ссылку на
2,147,483,647 отправки в библиотекуВ 32-битной среде выделяется
http://www.excelworld.ru/forum/3-903-1: Вариант Sub Test2(): В Access его.
получилось.ii = 1
есть excel файл,
считает, что вWorkbooks.Add файлом. Результаты и — Макрос -: Ладно, попробую. Спасибо!
одинаковых файла. (количество в 2012 году
оригинал (на английскомКоличество параллельных запросов к документов:
2 ГБ виртуального адресногоАлекс
у меня корректноАндрейкак сделать, чтобыOpen «c:\» &
размер 400мб в
них, что-нибудь есть,sFil2 = ActiveWorkbook.Name мои умозаключения на Макросы, поубивать ненужныеСаша листов, строк и
велась аналогичная динамика языке) . книге.
по умолчанию 50 мегабайт пространства, предоставленного в
: причина в xls.
запятые отработал.: Hugo, Вы не он так и ii & «.txt»
нем, приблизительно 8500000 даже если ячейкиActiveSheet.Name = sArk листе2.
(или все).: Все равно сохраняет
столбцов в них,
и размер файла
Это сообщение появляется, когда
6
(МБ)
совместный доступ Excel,
Если сохранить в
Покажите уже наконец
получили вчера письмо
записывал в новый
For Output As
строчек в одном
пустые. Тоже самое
ActiveSheet.Paste
Если кто-нибудь что-то
Иногда помогало сохранить
исходно большой размер
уровень использования формул
увеличивался не такими
превышается максимальный объемКоличество соединений
2 гигабайта (ГБ) максимальное книге и надстройкам, новом формате, с кусок файла строк от меня?
фаил xls имеет большой размер (Формулы)
файл,в таком же #2 столбце. если допустим заполняетеApplication.CutCopyMode = False
подобное проводил - для Excel 5.0 :( и фильтров - резкими скачками (в памяти или предельный5 2 которые работают в форматированием проблем не на 20 -Line вставлял там виде, как вWhile Not EOF(1)
понятно, что открыть ячейки с номеромFor n = поделитесь. с частичной потерейЧто еще можно это разные по пределах 0,5 мб). размер файла дляКоличество различающихся значений вМаксимальный размер файла для том же процессе.
будет. Много ячеек поэксперементируем. же, где и исходном?i = i + 1
его нет возможности строки 30000, то
1 To lAntR
С уважением, Александр.
функциональности. Также настоятельно
сделать? времени версии одного Динамику увеличения проследить модели данных. В столбце обработки книги в Доля адресного пространства
Уменьшение размера файла в Microsoft Excel

При работе в Экселе некоторые таблицы достигают довольно внушительного размера. Это приводит к тому, что размер документа увеличивается, иногда достигая даже десятка мегабайт и более. Увеличение веса книги Excel приводит не только к увеличению занимаемого им места на жестком диске, но, что ещё более важно, к замедлению скорости выполнения различных действий и процессов в ней. Попросту говоря, при работе с таким документом программа Excel начинает тормозить. Поэтому актуальным становится вопрос оптимизации и сокращения размеров подобных книг. Давайте разберемся, как можно уменьшить размер файла в Экселе.
Процедура уменьшения размера книги
Оптимизировать разросшийся файл следует сразу по нескольким направлениям. Многие пользователи не догадываются, но зачастую книга Excel содержит много ненужной информации. Когда файл небольшой на это никто особого внимания не обращает, но если документ стал громоздким, нужно оптимизировать его по всем возможным параметрам.
Способ 1: уменьшение рабочего диапазона
Рабочий диапазон – это та область, действия в которой запоминает Excel. При пересчете документа программа пересчитывает все ячейки рабочей области. Но она не всегда соответствует тому диапазону, в котором действительно работает пользователь. Например, нечаянно поставленный пробел далеко внизу от таблицы расширит размер рабочего диапазона до того элемента, где этот пробел находится. Получается, что Эксель при пересчете каждый раз будет обрабатывать кучу пустых ячеек. Посмотрим, как можно устранить данную проблему на примере конкретной таблицы.

- Вначале взглянем на её вес перед оптимизацией, чтобы сравнить каковым он будет после выполнения процедуры. Это можно сделать, переместившись во вкладку «Файл». Переходим в раздел «Сведения». В правой части открывшегося окна указаны основные свойства книги. Первым же пунктом свойств является размер документа. Как видим, в нашем случае он составляет 56,5 килобайт.

- Прежде всего, следует выяснить, насколько реальная рабочая область листа отличается от той, которая действительно нужна пользователю. Это сделать довольно просто. Становимся в любую ячейку таблицы и набираем комбинацию клавиш Ctrl+End. Excel тут же перемещается к последней ячейке, которую программа считает конечным элементом рабочей области. Как видим, в конкретно нашем случае это строка 913383. Учитывая то, что реально таблица занимает только шесть первых строк, можно констатировать факт, что 913377 строчек являются, по сути, бесполезным грузом, который не только увеличивает размер файла, но, из-за постоянного пересчета всего диапазона программой при выполнении любого действия, приводит к замедлению работы над документом.

Если в книге несколько листов, с которыми вы работаете, нужно провести подобную процедуру с каждым из них. Это позволит ещё больше уменьшить размер документа.
Способ 2: устранение избыточного форматирования
Ещё одним важным фактором, который делает документ Excel более тяжелым, является избыточное форматирование. Сюда можно отнести применение различных видов шрифтов, границ, числовых форматов, но в первую очередь это касается заливки ячеек различными цветами. Так что перед тем, как дополнительно отформатировать файл, нужно дважды подумать, а обязательно ли стоит это делать или без данной процедуры можно легко обойтись.
Особенно это касается книг, содержащих большое количество информации, которые сами по себе уже имеют немалый размер. Добавление форматирования в книгу может увеличить её вес даже в несколько раз. Поэтому нужно выбрать «золотую» середину между наглядностью представления информации в документе и размером файла, применять форматирование только там, где оно действительно необходимо.

Ещё одним фактором, связанным с форматированием, утяжеляющим вес, является то, что некоторые пользователи предпочитают отформатировать ячейки «с запасом». То есть, они форматируют не только саму таблицу, но и диапазон, который находится под ней, иногда даже до конца листа, с расчетом на то, что, когда в таблицу будут добавляться новые строки, не нужно будет каждый раз форматировать их снова.
Но неизвестно, когда именно будут добавляться новые строки и как много их добавится, а таким предварительным форматированием вы утяжелите файл уже прямо сейчас, что отрицательно также скажется и на скорости работы с данным документом. Поэтому, если вы и применили форматирование к пустым ячейкам, не входящим в таблицу, то его обязательно следует убрать.
- Прежде всего, нужно выделить все ячейки, которые расположены ниже диапазона с данными. Для этого кликаем по номеру первой пустой строки на вертикальной панели координат. Выделяется вся строчка. После этого применяем уже знакомую нам комбинацию горячих клавиш Ctrl+Shift+стрелка вниз.

- После этого весь диапазон строк ниже части таблицы, заполненной данными, будит выделен. Находясь во вкладке «Главная» кликаем по значку «Очистить», который расположен на ленте в блоке инструментов «Редактирование». Открывается небольшое меню. Выбираем в нем позицию «Очистить форматы».

- После этого действия во всех ячейках выделенного диапазона форматирование будет удалено.

- Таким же образом можно удалить ненужное форматирование в самой таблице. Для этого выделяем отдельные ячейки или диапазон, в котором считаем форматирование минимально полезным, нажимаем на кнопку «Очистить» на ленте и из списка выбираем пункт «Очистить форматы».

- Как видим, форматирование в выделенном диапазоне таблицы было полностью удалено.

- После этого возвращаем данному диапазону некоторые элементы форматирования, которые считаем уместными: границы, числовые форматы и т.д.
Вышеописанные действия помогут существенно уменьшить размер книги Excel и ускорить работу в ней. Но лучше изначально использовать форматирование только там, где оно по-настоящему уместно и необходимо, чем потом тратить время на оптимизацию документа.
Способ 3: удаление ссылок
В некоторых документах очень большое количество ссылок, откуда подтягиваются значения. Это тоже может серьезно тормозить скорость работы в них. Особенно сильно на этот показать влияют внешние ссылки на другие книги, хотя и внутренние ссылки тоже негативно отражаются на быстродействии. Если источник, откуда ссылка берет информацию, не является постоянно обновляемым, то есть, смысл заменить ссылочные адреса в ячейках на обычные значения. Это способно увеличить скорость работы с документом. Посмотреть, ссылка или значение находится в конкретной ячейке, можно в строке формул после выделения элемента.

-
Выделяем область, в которой содержатся ссылки. Находясь во вкладке «Главная», щелкаем по кнопке «Копировать» которая расположена на ленте в группе настроек «Буфер обмена».
Но нужно помнить, что этот вариант оптимизации книги Excel не всегда приемлем. Его можно применять только тогда, когда данные из первоисточника не являются динамическими, то есть, не изменятся со временем.
Способ 4: изменения формата
Ещё одним способом существенно сократить размер файла является изменение его формата. Этот способ, наверное, больше всех остальных помогает сжать книгу, хотя и выше представленными вариантами тоже нужно пользоваться в комплексе.
В Экселе существуют несколько «родных» форматов файлов – xls, xlsx, xlsm, xlsb. Формат xls являлся базовым расширением для программы версии Excel 2003 и ранее. Он является уже устаревшим, но, тем не мене, многими пользователями продолжает до сих пор применяться. К тому же, бывают случаи, когда приходится возвращаться к работе со старыми файлами, которые были созданы много лет назад ещё во времена отсутствия современных форматов. Не говоря уже о том, что с книгами с данным расширением работают многие сторонние программы, которые не умеют обрабатывать более поздние варианты документов Excel.
Нужно отметить, что книга с расширением xls имеет гораздо больший размер, чем современный её аналог формата xlsx, который в нынешнее время Эксель использует, как главный. В первую очередь, это связано с тем, что файлы xlsx, по сути, являются сжатыми архивами. Поэтому, если вы используете расширение xls, но желаете уменьшить вес книги, то это можно сделать просто пересохранив её в формате xlsx.
- Для конвертирования документа из формата xls в формат xlsx переходим во вкладку «Файл».

- В открывшемся окне сразу обращаем внимание на раздел «Сведения», где указано, что в настоящее время вес документа составляет 40 Кбайт. Далее щелкаем по наименованию «Сохранить как…».

- Открывается окно сохранения. При желании можно перейти в нем в новую директорию, но большинству пользователей удобнее хранить новый документ там же, где и исходник. Наименование книги при желании можно сменить в поле «Имя файла», хотя и не обязательно. Самым важным в данной процедуре является выставить в поле «Тип файла» значение «Книга Excel (.xlsx)». После этого можно жать на кнопку «OK» в нижней части окна.

- После того, как сохранение произведено, перейдем в раздел «Сведения» вкладки «Файл», чтобы посмотреть, насколько уменьшился вес. Как видим, он теперь составляет 13,5 Кбайт против 40 Кбайт до проведения процедуры конвертирования. То есть, одно только сохранение в современном формате позволило сжать книгу почти в три раза.
Кроме того, в Экселе существует ещё один современный формат xlsb или двоичная книга. В нем документ сохраняется в бинарной кодировке. Эти файлы весят ещё меньше, чем книги в формате xlsx. К тому же, язык, на котором они записаны, ближе всего для программы Excel. Поэтому она работает с такими книгами быстрее, чем с любым другим расширением. При этом книга указанного формата по функциональности и возможностям применения различных инструментов (форматирование, функции, графики и т.д.) ни в чем не уступает формату xlsx и превосходит формат xls.
Основная причина, почему xlsb не стал форматом по умолчанию в Excel, заключается в том, что с ним практически не умеют работать сторонние программы. Например, если вам нужно будет экспортировать информацию из Excel в программу 1C, то это можно будет сделать с документами xlsx или xls, но не с xlsb. Но, если вы не планируете перенос данных ни в какую-то стороннюю программу, то смело можете сохранять документ в формате xlsb. Это позволит вам уменьшить размер документа и увеличит скорость работы в нем.
Процедура сохранения файла в расширении xlsb аналогична той, какую мы проделывали для расширения xlsx. Во вкладке «Файл» кликаем по пункту «Сохранить как…». В открывшемся окне сохранения в поле «Тип файла» нужно выбрать вариант «Двоичная книга Excel (*.xlsb)». Затем щелкаем по кнопке «Сохранить».

Смотрим на вес документа в разделе «Сведения». Как видим, он уменьшился ещё больше и теперь составляет всего 11,6 Кбайт.

Подводя общие итоги, можно сказать, что если вы работает с файлом в формате xls, то наиболее эффективным способом уменьшить его размер является пересохранение в современных форматах xlsx или xlsb. Если же вы уже используете данные расширения файлов, то для уменьшения их веса следует правильно настроить рабочую область, убрать избыточное форматирование и ненужные ссылки. Наибольшую отдачу вы получите, если произведете все эти действия в комплексе, а не ограничитесь только одним вариантом.