Как открыть большой файл excel
У меня есть 150MB один лист excel файл, который занимает около 7 минут, чтобы открыть на очень мощной машине, используя следующее:
есть ли способ открыть файл excel быстрее? Я открыт даже для очень диковинных предложений (таких как hadoop, spark, c, java и т. д.). В идеале я ищу способ открыть файл менее чем за 30 секунд, если это не мечта. Кроме того, приведенный выше пример использует python, но это не должно быть питон.
Примечание: это файл Excel от клиента. Он не может быть преобразован в любой другой формат, прежде чем мы получим его. Это не наш файл
Intel i5 4460, 12 ГБ оперативной памяти, SSD Samsung EVO PRO.
если у вас много памяти ОЗУ: Этот код требует много ОЗУ, но это занимает 20
25 секунд. (Вам нужен параметр - Xmx7g)
старый ответ (не нужен параметр Xms7g, поэтому возьмите меньше памяти): Требуется открыть и прочитать пример файла около 35 секунд (200 МБ) с HDD, с SDD занимает немного меньше (30 секунд).
большинство языков программирования, работающих с продуктами Office, имеют некоторый средний уровень, и обычно это узкое место, хорошим примером является использование PIA / Interop или Open XML SDK.
один из способов получить данные на более низком уровне (минуя средний уровень) - использовать драйвер.
150MB один лист excel файл, который занимает около 7 минут.
лучшее, что я мог сделать, это файл 130 МБ за 135 секунд, примерно 3 раза быстрее:
Я побежал программа в трехлетнем ноутбуке с SSD-накопителем, 8GB оперативной памяти и Intel Core i7-4710 CPU @ 2.50 GHz (два ядра) на Windows 10 64 бит.
обратите внимание, что хотя открытие и разбор всего файла в виде строк занимает немного меньше 30 секунд, при использовании объектов, как в примере моего последнего редактирования, время доходит до почти 50 секунд с моим дерьмовым ноутбуком. Вероятно, вы приблизитесь к 30 секундам на своем сервере с Linux.
трюк состоял в том, чтобы использовать подход SAX как объясняется здесь:
библиотека панд Python может использоваться для хранения и обработки ваших данных, но с ее помощью можно напрямую загрузить .xlsx файл будет довольно медленным, например, с помощью read_excel() .
одним из подходов было бы использовать Python для автоматизации преобразования вашего файла в CSV с помощью самого Excel, а затем использовать Pandas для загрузки результирующего CSV-файла с помощью read_csv() . Это даст вам хорошую скорость, но не менее 30 секунды:
типы столбцов
Типы для ваших столбцов можно указать, передав dtype и converters и parse_dates :
вы также должны указать infer_datetime_format=True , так как это значительно ускорит преобразование даты.
nfer_datetime_format : boolean, по умолчанию False
если True и parse_dates включены, pandas попытается определить формат строк datetime в Столбцах, и если это может быть сделав вывод, переключитесь на более быстрый метод их анализа. В некоторых случаях это может увеличить скорость разбора на 5-10x.
добавить dayfirst=True если даты в форме DD/MM/YYYY .
выборочные столбцы
Если вам действительно нужно работать только над столбцами 1 9 11 , то вы можете дополнительно уменьшить ресурсы, указав usecols=[0, 8, 10] следующим образом:
результирующий фрейм данных будет содержать только эти 3 столбца данных.
RAM drive
Использование RAM-диска для хранения временного CSV-файла еще больше ускорит время загрузки.
Примечание: это предполагает, что вы используете Windows PC с Excel доступны.
мои операторы using:
код для открытия и чтения книги:
Я создал образец Java программа, которая может загрузить файл в
40 секунд мой ноутбук (Intel i7 4 core, 16 GB RAM).
эта программа использует библиотека POI Apache загрузить .xlsx файл с помощью XSSF SAX API.
интерфейс обратного вызова com.stackoverlfow.largefile.RecordHandler реализация может использоваться для обработки данных, загруженных из excel. Этот интерфейс определяет только один метод, который принимает три аргумента
- sheetname: строка, имя листа excel
- номер строки: int, номер строки данных
- и data map : карта: Ссылка на ячейку excel и значение ячейки в формате excel
класс com.stackoverlfow.largefile.Main продемонстрируйте одну основную реализацию этого интерфейса, которая просто печатает номер строки на консоли.
обновление
woodstox парсер, кажется, имеет лучшую производительность, чем standard SAXReader . (код обновлен в репо).
также для того чтобы соотвествовать пожеланный представления, вы можете рассматривать re-implement org.apache.poi. XSSFSheetXMLHandler . В реализации можно реализовать более оптимизированную обработку строк / текстовых значений и пропустить ненужную операцию форматирования текста.
похоже, это вряд ли достижимо в Python вообще. Если мы распакуем файл данных листа, то потребуется все необходимые 30 секунд, чтобы передать его через итеративный парсер SAX на основе C (используя lxml , очень быстрая обертка над libxml2 ):
выход образца: 27.2134890556
кстати, сам Excel требует около 40 секунд, чтобы загрузить книгу.
В i5-4460 и HDD-машине я нахожу 500 тысяч ячеек в xls займет 1,5 С. Но те же данные в xlsx займут 2.829 С. таким образом, можно манипулировать вашими данными до 30 лет.
Если вам действительно нужно под 30s, используйте привод RAM для уменьшения ввода-вывода файла.Это значительно улучшит ваш процесс. Я не могу загрузить ваши данные, чтобы проверить его, поэтому, пожалуйста, сообщите мне результат.
другой способ, который должен в значительной степени улучшить время загрузки/работы, - это RAMDrive
создайте RAMDrive с достаточным пространством для вашего файла и 10%..20% дополнительного пространства.
скопируйте файл для RAMDrive.
Загрузите файл оттуда. в зависимости от вашего диска и файловой системы улучшение скорости должно быть огромным.
но это также зависит от вашей ОС.
Я хотел бы иметь больше информации о системе, где вы открываем файл. во всяком случае:
найдите в своей системе обновление Windows под названием
"Средства проверки файлов Office для Office . "
Если у вас есть. удалите его.
файл должен загружаться намного быстрее
особенно если загружается froma share
вы пробовали загрузить лист по требованию, который доступен с версии 0.7.1 xlrd?
для этого нужно пройти on_demand=True to open_workbook() .
xlrd.open_workbook (filename=нет, logfile= , многословие=0, use_mmap=1, file_contents=нет, encoding_override=нет, formatting_info=False, on_demand=False, ragged_rows=False)
другие потенциальные решения python, которые я нашел для чтения файла xlsx:
-
читать raw xml in ' xl / sharedStrings.xml ' и ' xl / worksheets / sheet1.с XML'
попробовать openpyxl библиотеки режим только для чтения который утверждает, что тоже оптимизирован в использовании памяти для больших файлов.
если вы работаете в Windows, вы можете использовать PyWin32 и " Excel.Применение'
сохраните excelsheet в файл с разделителями табуляции и откройте его, как вы обычно читаете простой txt:)
edit: затем вы можете прочитать файл строка за строкой и разделить строки на вкладках. Получите необходимые столбцы данных по индексу.
Что такое большой файл? Ну так чтобы реально большой? В бытность свою я думал, что это файлик на 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;
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 файл с большим набором данных, например текстовый (TXT) или CSV-файл, возможно, вы увидели предупреждение: "Этот набор данных слишком большой для сеткиExcel. Если вы сохраните эту книгу, вы потеряете данные, которые не были загружены.Это означает, что набор данных превышает количество строк или столбцов, доступных в Excel, поэтому некоторые данные не были загружены.
Чтобы не потерять данные, необходимо соблюдать дополнительные меры предосторожности.
Откройте файл в Excel для ПК,используя get Data (Получить данные). Если у вас есть приложение Excel для ПК, вы можете загрузить полный набор данных и проанализировать его с помощью таблиц с помощью Power Query.
Не сохранения файла в Excel. Если сохранить файл через исходный, вы потеряете все данные, которые не были загружены. Помните, что набор данных также неполный.
Сохранение усеченной копии. Если вам нужно сохранить файл, перейдите в папку >"Сохранить копию". Затем введите другое имя, которое будет ясно, что это усеченная копия исходного файла.
Открытие набора данных, превышаго ограничения Excel на сетку
С помощью Excel для ПК можно импортировать файл с помощью средства "Получить данные", чтобы загрузить все данные. Данные будут отображаться не больше, чем количество строк и столбцов в Excel, однако полный набор данных уже создан, и вы сможете анализировать его без потери данных.
Откройте пустую книгу в Excel.
На вкладке "Данные" > "Из текста/CSV> найдите файл и выберите "Импорт". В диалоговом окне предварительного просмотра выберите "Загрузить в. " > отчета.
После загрузки используйте список полей для у упорядочений полей в pivotTable. Для сведения данных в ней будет работать весь набор данных.
Вы также можете отсортировать данные в pivotTable илиотфильтроватьданные в ее.
Ограничения форматов файлов Excel
При работе в Excel важно помнить, какой формат файла вы используете. В формате файлов XLS на каждом листе может быть не более 65 536 строк, а в формате XLSX - 1 048 576 строк на листе. Дополнительные сведения см. в форматах файлов, поддерживаемых спецификациями и ограничениями Excel.
Чтобы предотвратить ограничение в Excel, не забудьте использовать для этого формат XLSX вместо XLS. Если вы знаете, что набор данных превышает ограничение XLSX, используйте альтернативные обходные пути для открытия и просмотра всех данных.
Совет: Убедитесь, что при открытие набора данных в Excel были импортироваться все данные. Вы можете проверить количество строк или столбцов в исходных файлах, а затем подтвердить их совпадение в Excel. Для этого вы можете выбрать всю строку или столбец и просмотреть количество в строке состояния в нижней части Excel.
Такой вопрос часто можно увидеть на форумах, тематических сайтах или просто в списке запросов поисковика. Чаще всего подобная проблема сопровождается гипертрофированными размерами книги Excel. Из этой статьи вы узнаете несколько самых действенных способов уменьшения размера файла и ускорения его работы.
1. Уменьшаем размер используемого диапазона листа
Наиболее часто проблема увеличения размера книги и ее торможения бывает связана с разросшимся используемым диапазоном листа. Это тот диапазон, который Excel запоминает и с которым каждый раз работает. Если вы используете на листе всего несколько ячеек, но когда то у вас там была таблица в 1000 строк, то даже после ее удаления Excel будет обрабатывать все эти строки, тем самым замедляя работу файла.
Чтобы проверить, есть ли на листе лишние пустые столбцы и строки нужно нажать сочетание клавиш «Ctrl+End» . Вы попадете в последнюю ячейку, которую использует программа. Если она явно за пределами ваших данных, то лишние строки и столбцы стоит удалить. Для этого в столбце А встаем в ячейку ниже последней нужной нам строки и нажимаем «Ctrl+Shift+End» .
Выделятся все лишние строки. Удаляем их. То же самое повторяем для столбцов. Если их много – файл может зависнуть. В таком случае проще использовать небольшой макрос. Нажмите Alt+F11 или кнопку Visual Basic на вкладке Разработчик (как ее активировать - показывали здесь ), вставьте новый модуль через меню Insert - Module и скопируйте туда код макроса:
Sub УдалениеЛишнихЯчеек()
For Each Sht In ActiveWorkbook.Worksheets
Чтобы запустить его - на той же вкладке (1) нажмите кнопку "Макросы" (2), выберите в списке "УдалениеЛишнихЯчеек" (3) и нажмите кнопку "Выполнить" (4).
После проделывания всех операций обязательно сохраняем книгу.
2. Пересохраняем файл в другом формате
Если кто-то еще пользуется файлами в старом формате XLS, но уже сидит на более новом ПО (Excel 2007 и новее), то есть смысл пересохранить файл в один из новых форматов: XLSX, XLSM, XLSB. Они более современные, лучше оптимизированы, весят меньше и работают быстрее. Самый компактный из них – XSLB. При сохранении в этом формате размер файла существенно уменьшится (даже если пересохранить в него "новый" XLSX).
3. Удаляем лишние объекты из книги
Часто при копировании в файл данных из сторонних программ (например, 1С) вместе с ними копируются лишние объекты (фигуры, картинки и прочее), которые не всегда можно сразу заметить на листе. Чтобы проверить, есть ли в файле лишние объекты, нужно найти на ленте команду "Найти и выделить" (1) и выбрать "Область выделения" (2). Откроется список объектов листа (3).
Удалить все объекты можно выделив их и нажав клавишу Delete . Чтобы выделить все объекты снова используем команду "Найти и выделить" (1), выбираем пункт "Выделить группу ячеек" (2) и в открывшемся окне выбираем "Объекты" (3).
Если объектов много, то имеет смысл удалять их простым макросом. Код - ниже. Его нужно запустить поочередно на каждом листе.
Sub УдаляемОбъекты()
For each shp in ActiveSheet.Shapes
4. Уменьшаем размер сводных таблиц
Если в вашем файле есть сводные таблицы, то имеет смысл отключить хранение данных для них вместе с файлом. Это потребует обновления таблицы каждый раз при открытии книги, но уменьшит размер файла.
Для отключения этой опции выберите нужную сводную таблицу, перейдите в ее Параметры (правая кнопка мыши - Параметры сводной таблицы) и на вкладке Данные (1) снимите галочку с пункта "Сохранять исходные данные вместе с файлом" (2).
5. Заменяем формулы на значения
Если в файле содержится очень много формул, то нужно постараться везде, где это возможно, заменить их на значения. Постоянный пересчет сильно замедляет работу файла. И хоть его можно отключить (как - смотри здесь ), рекомендуем избавляться ото всех лишних формул на листах.
6. Удаляем лишнее форматирование
Красивые документы нравятся всем, но чем более пёстрый лист у Вас получился, тем медленнее будет работать файл. А условное форматирование сказывается на быстродействии еще больше, так как основано на формулах и постоянно пересчитывается. Рекомендуем удалять все лишние форматы, оставляя только то, что действительно нужно (как очистить форматы - смотри здесь ). Минимализм сейчас в моде.
Чтобы удалить лишние правила условного форматирования выбираем на вкладке "Главная" инструмент "Условное форматирование", кнопка "Управление правилами". В открывшемся диспетчере выбираем весь лист (1), выделяем лишнее правило (2) и удаляем его (3). Повторяем, пока не удалим всё лишнее.
Если в один прекрасный момент вы осознаете, что ваш основной рабочий файл в 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) .
Читайте также: