Папка drawings excel что это
Сразу хочется сделать несколько замечаний.
Первое. В основном говорить буду про то, с чем сталкивался лично. Претензий на стопроцентное знание «изнанки» формата у меня нет.
Второе. Как многие, вероятно, знают, файлы MS Office 2007 и выше представляют собой архив, который можно открыть с помощью любого архиватора (WinRAR, 7zip и так далее).
Третье. «Под капотом» у этих файлов — в основном XML-разметка, гордо именуемая OOXML или просто OpenXML. Поэтому, в принципе, для понимания принципов редактирования файлов «руками» достаточно будет Блокнота (или, что удобнее, Notepad++).
Итак, начнем с формата MS Excel как наиболее употребимого для генерации всевозможных отчетов, выгрузок из БД и иже с ними.
Когда имеешь дело с форматом .XLSX, на каждый вопрос «почему оно реализовано… так?» следует отвечать: «того требовала оптимизация». Когда Microsoft расширили допустимый размер листа до неприличного с точки зрения наблюдателя (около миллиона строк и 16 тысяч с хвостиком столбцов), они понимали, что найдутся маньяки, которые все это забьют данными под завязку. А через это, если подходить к хранению данных «в лоб», то даже все возрастающих мощностей ПК не хватит ни при каких условиях. Следовательно, надо сделать так, чтобы объем хранимых данных был меньше, чем объем данных в книге. Как это сделать? Забегая вперед: например, исключить дубликаты строк.
Первый интересующий нас файл — %file%/xl/workbook.xml. Основное его назначение — манифест, то есть перечень листов, из которых наша книга Excel, собственно, и состоит.
Выглядит этот перечень, к примеру, так:
Это значит, что в книге 4 листа, и их имена указаны в атрибутах name. Каждому тегу должен соответствовать файл в папке %file%/xl/worksheets. Excel сам знает, как должны называться эти файлы и при попытке их переименовать, сочтет всю книгу поврежденной.
Еще в папке %file%/xl нас интересует файл styles.xml.
Как нетрудно догадаться, здесь хранится информация об оформлении ячеек. Причем в угоду оптимизации, хранится она в достаточно интересном виде. Файл состоит из следующих секций:
Как можно понять, здесь перечислены только уникальные стили оформления текста, использованные в книге. Каждый тег — один стиль. Вложенные теги — особенности стиля, такие как полужирное написание (тег ), кегль () и другие.
2. Заливка ячеек:
Как видно, первый вариант — без заливки вообще, а второй — сплошная заливка библиотечного цвета «gray125».
Как видно, одно наименование здесь состоит из пяти элементов, 4 основных границы и диагональная, то есть все то, что можно настроить через GUI самого Excel.
А вот здесь надо объяснить подробнее. Когда в файле листа мы будем указывать стиль ячейки, мы будем ссылаться как раз на эту секцию. Каждый тег , представляющий собой один стиль, является собранием ссылок на предыдущие секции, то есть он сам по себе не содержит объявления шрифта, границ и заливки. Рассмотрим интересные атрибуты ближе:
Начиная с версии 2007 в Excel используется XML-формат, на основе которого создаются рабочие книги, шаблоны и надстройки. Фактически эти файлы представляют собой ZIP-архивы. При необходимости они могут быть разархивированы и просмотрены.[1] В версиях, предшествующих Excel 2007, применялся двоичный файловый формат. И, хотя спецификации этого формата известны, работать с двоичными файлами совсем непросто. С другой стороны, файловый XML-формат относится к категории так называемых открытых форматов. Подобные файлы могут создаваться и обрабатываться с помощью любых программ, не относящихся к Office 2010.
В качестве примера используется файл с поддержкой макросов Excel (XLSM). Он состоит из одного рабочего листа, одного листа диаграммы и простого макроса на языке VBA. Рабочий лист включает таблицу, кнопку (из группы элементов управления Формы), рисунок Smart Art, а также фотографию цветка (рис. 1).
Рис. 1. Пример листа рабочей книги
Структура Excel-файлов
Для просмотра «внутренностей» файла Excel откройте Проводник Windows и добавьте расширение ZIP к файлу. После этого файл sample.xlsm будет переименован в sample.xlsm.zip. Затем можно открыть этот файл с помощью встроенного в Windows архиватора (рис. 2). Если вы установите архиватор 7-zip, то сможете открывать файлы Excel непосредственно, не переименовывая их (рис. 3).
Рис. 2. Структура каталогов файла рабочей книги при просмотре во встроенном архиваторе Windows; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке
Рис. 3. Непосредственное открытие файла Excel, как архива в 7-zip
Первое, что бросается в глаза при просмотре файла (см. рис. 2), — это наличие структуры каталогов. Почти все используемые файлы являются текстовыми XML-файлами. Их можно просматривать в окне текстового редактора, XML-редактора, веб-браузера либо даже в окне Excel. На рис. 4 показано содержимое такого файла, просматриваемого в окне браузера Microsoft Edge. Файлы формата, отличного от XML, включают графические файлы и VBA-проекты (хранятся в двоичном формате).
Рис. 4. Просмотр XML-файла в окне веб-браузера
Рассматриваемый XML-файл (см. рис. 2) включает три корневые папки; некоторые из них включают подпапки. Обратите внимание, что многие папки включают папку _rels. Здесь находятся XML-файлы, которые определяют связи с другими компонентами пакета.
Папки, входящие в состав файла рабочей книги sample.xlsm (см. рис. 2).
- Здесь можно найти сведения о связях в пакете.
- XML-файлы, которые описывают свойства файла и настройки приложения.
- Эта папка является «сердцем» файла. Ее имя изменяется в зависимости от типа документа Office (xl, ppt, word и т.д.). Здесь находится несколько XML-файлов, содержащих настройки для рабочей книги. Если в состав рабочей книги включен VBA-код, он будет находиться в двоичном файле с расширением BIN. Эта папка включает несколько подпапок (количество подпапок изменяется в зависимости от выбранной рабочей книги):
- Здесь находится XML-файл для каждой диаграммы, включающий описание ее настроек.
- Здесь содержится XML-файл, включающий данные для каждого листа диаграммы в рабочей книге.
- Здесь находятся XML-файлы, в которых содержится описание диаграмм (рисунков SmartArt) в рабочей книге.
- Здесь содержится XML-файл, включающий данные для каждого «рисунка». Здесь под этим термином подразумеваются кнопки, диаграммы и изображения. Любопытно, что иногда такое содержимое является мусорным. Удаляю эту папку, мы удаляем весь мусор. Правда, может пострадать и ценная информация. Подробнее см. Excel «тормозит». Что делать? Дубль 2.
- Здесь содержатся внедренные медиаклипы, например, GIF- и JPG-файлы.
- Включает XML-файл, содержащий данные для каждой таблицы.
- Содержит XML-файл, включающий данные о теме рабочей книги.
- Включает XML-файл для каждого рабочего листа в книге.
Любопытно, что добавление расширения ZIP к файлу Excel, не мешает открытию его в Excel, поскольку работа этой программы не зависит от расширения открываемого файла. Также можно сохранить рабочую книгу с расширением ZIP. Для этого в диалоговом окне Сохранение документа добавьте расширение ZIP и заключите имя файла в двойные кавычки, например, “Пример.xlsx.zip”.
Почему файловый формат столь важен
«Открытые» файловые XML-форматы, появившиеся в Microsoft Office 2007, представляют собой огромный шаг вперед, важный для всего компьютерного сообщества. Самое главное — рабочие книги Excel в этих форматах относительно легко считывать и записывать посредством ряда программ, отличных от Excel. Например, вполне возможно написать такую программу, которая будет изменять тысячи рабочих книг Excel, причем сама программа Excel не потребуется. Подобная программа может вставлять новые рабочие листы в каждый такой файл.
Рис. 5. Программа Excel может сама «отремонтировать» поврежденный файл рабочей книги
Кроме того, размер заархивированного XML-файла зачастую меньше размера соответствующего двоичного файла. И еще одно преимущество заключается в том, что структурированная природа файла позволяет извлекать отдельные его элементы (например, графику). Как правило, у пользователя Excel не возникает потребности в просмотре либо изменении XML-компонентов файла рабочей книги. Но если вы являетесь разработчиком, то вам придется создавать код, который изменяет компоненты пользовательского «ленточного» интерфейса Excel. При этом следует хотя бы поверхностно знать структуру XML-файла рабочей книги.
Файл OfficeUI
В файле Excel.officeUI сохраняются результаты изменений, внесенных на панель быстрого доступа и ленту. Этот XML-файл можно найти в следующей папке: C:\Users\\AppData\Local\Microsoft\Office
Если вы не нашли в этой папке такого файла, это означает, что вы не изменяли в Excel, ни ленту, ни панель быстрого доступа, установленные по умолчанию. Добавьте любую команду на панель быстрого доступа, и файл появится. Причем изменения вносятся в файл незамедлительно, еще до закрытия Excel. Для просмотра файла Excel.officeUI можно воспользоваться редактором XML-кода, веб-браузером или Excel. Выполните следующие действия.
- Создайте копию файла Excel.officeUI.
- Добавьте расширение XML к копии файла, в результате чего название файла примет вид Excel.officeUI.xml.
- Перейдите в Excel, выполните команду Файл –>Открыть.
- Отобразится диалоговое окно, включающее ряд параметров; выберите XML-таблица.
На рис. 6 показан импортированный файл Excel.officeUI.xml. В рассматриваемом примере на панель быстрого доступа добавлено пять команд (строки 3, 8, 9, 12, 13).
Рис. 6. Просмотр файла данных Excel.officeUl.xml в Excel
Один и тот же файл Excel.OfficeUI может применяться несколькими пользователями одновременно. Например, панель быстрого доступа нетрудно снабдить двумя-тремя десятками полезных инструментов, а ленту — несколькими полезными вкладками, включающими ряд пользовательских групп. Если подобная обновленная панель произведет впечатление на ваших коллег, просто передайте им копию файла Excel.OfficeUI и расскажите, куда ее нужно скопировать. Учтите, что в случае копирования переданной вами копии поверх существующего файла Excel.OfficeUI все изменения, ранее внесенные в интерфейс пользователя, будут утеряны.
Файл XLB
Программа Excel хранит настройки панелей инструментов и меню в файле с расширением XLB. Даже несмотря на то, что Excel 2010 (и более поздние версии) официально не поддерживает панели инструментов и меню так, как в предыдущих версиях, файл XLB по-прежнему используется. Если вы не можете его найти, значит, программа до сих пор не сохранила ни одно из пользовательских меню или панелей инструментов. В момент закрытия Excel 2010 текущая конфигурация панелей инструментов сохраняется в файле Excel14.xlb (в версии 2013 г. – в файле Excel15.xlb). Этот файл (обычно) находится в следующем каталоге: C:\Users\\AppData\Roaming\Microsoft\Excel
Этот двоичный файл содержит сведения о положении и видимости всех пользовательских панелей инструментов и меню, а также изменения, которые были добавлены во встроенные панели инструментов и меню.
Файлы надстроек
Надстройка фактически является рабочей книгой Excel, имеющей некоторые особенности:
- Значение свойства рабочей книги IsAddin равно Истина. Это означает, что надстройка может быть загружена и выгружена с помощью диалогового окна Надстройки.
- Эта рабочая книга скрыта, причем подобное состояние не может изменяться пользователем. Следовательно, надстройка никогда не может быть активной рабочей книгой.
- Если вы работаете с VBA, имейте в виду, что надстройка не входит в коллекцию Workbooks.
Для получения доступа к диалоговому окну Надстройки выберите команду Файл –> Параметры. Выберите раздел Надстройки в левом списке, выберите пункт Надстройки Excel, и щелкните на кнопке Перейти (рис. 7). Альтернативные методы. Если в рабочем окне Excel отображается вкладка Разработчик, перейдите на нее, и кликните Надстройки. И, наконец, если установлена вкладка Разработчик, можно воспользоваться комбинацией клавиш: нажмите и удерживайте клавишу Alt, последовательно нажимайте Р – З (буква) – 2.
Рис. 7. Надстройки в меню Параметры Excel
Настройки Excel в системном реестре
В диалоговом окне Параметры находятся десятки настроек, определенных пользователем. Для хранения этих настроек и обращения к ним во время запуска Excel используется реестр Windows, который еще называют системным реестром. Он представляет собой централизованную иерархическую базу данных, используемую операционной системой и приложениями. Реестр появился еще в Windows 95, в которой заменил прежние INI-файлы с хранящимися в них настройками Windows и приложений.
Для просмотра и редактирования системного реестра можно использовать редактор реестра – regedit.ехе, расположенной в папке C:\Windows. Прежде чем начать эксперименты, используйте команду Файл –> Экспорт редактора реестра. Эта команда позволяет сохранить ASCII-версию всего реестра, либо выбранную вами ветвь. Чтобы вернуть реестр в первоначальное состояние, импортируйте ASCII-файл, после чего реестр примет свой исходный вид (команда Файл –> Импорт).
Системный реестр содержит ключи и значения, расположенные в иерархическом порядке. Ключи верхнего уровня: HKEY_CLASSES_ROOT; HKEY_CURRENT_USER; HKEY_LOCAL_MACHINE; HKEY_USERS; HKEY CURRENT CONFIG. Информация, используемая Excel 2013, хранится в следующем разделе реестра: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel. Настройки реестра обновляются автоматически после закрытия Excel.
Рис. 8. Редактор реестра позволяет просматривать и изменять системный реестр
Учтите, что Excel считывает содержимое реестра Windows один раз — при запуске. Кроме того, Excel единственный раз обновляет настройки реестра — при нормальном завершении. Если Excel завершается аварийно (такое бывает), информация в реестре не обновляется. Если изменить одну из настроек Excel, например, отображение строки формул, это изменение не зафиксируется в системном реестре до тех пор, пока Excel не завершит свою работу без эксцессов.
В таблице (рис. 9) перечислены настройки реестра, имеющие отношение к Excel 2013. Учтите, что некоторых из них вы можете не найти в своей базе данных реестра.
Рис. 9. Информация о конфигурации Excel в системном реестре
Хотя большинство настроек может изменяться в диалоговом окне Параметры, некоторые настройки невозможно изменить таким образом (в этом случае применяется редактор реестра). Например, при выделении диапазона ячеек иногда требуется, чтобы выделенные ячейки окрашивались в черный цвет на белом фоне. Для этого достаточно добавить в системный реестр следующий ключ.
- Откройте редактор реестра и найдите раздел HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Options.
- Щелкните правой кнопкой мыши и выберите пункт Создать –>Параметр QWORD (64 бита).
- Назовите создаваемое значение Options6.
- Щелкните правой кнопкой мыши на ключе Options6 и выберите пункт Изменить.
- В диалоговом окне Изменение параметраQWORD установите переключатель Десятичная и введите значение 16 (рис. 10).
Рис. 10. Ввод значения для параметра системного реестра
После перезагрузки Excel ячейки выделяются черным цветом (следует отметить, что я не заметил изменений). Если вас это не устраивает, удалите запись реестра Options6.
Если появляются проблемы при запуске Excel, причина может быть в повреждении ключей системного реестра. Возможно, придется с помощью редактора реестра удалить следующий раздел реестра: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel. При следующем запуске Excel удаленные ключи реестра будут созданы вновь. При этом существует риск потери некоторой информации.
[1] По материалам книги Джон Уокенбах. Excel 2010. Профессиональное программирование на VBA. – М: Диалектика, 2013. – С. 112–121.
Мой знакомый прислал мне Excel-файл содержащий порядка 200 строк без формул и связей, и весящий около 28МВ! Для перехода курсора из ячейки в ячейку требовалось несколько секунд. Первое, что я сделал, это удалил всё форматирование, очистил все пустые ячейки. Не сильно помогло. Удалил все данные. Ситуация чуть улучшилась, но четко было видно, что файл Excel тормозит. Задал вопрос в Google – о чудо! – нашел ответ.
GPlay пишет:
Наверное это побочный эффект копирования. Похожая вещь возникает при вставке данных целыми листами или столбцами/строками из файлов, созданных 1С и подобных (ERP) систем: они генерируют в файл «пустые» ячейки (забитые пробелами) и объекты типа Надпись. В итоге со временем файл становится очень большим.
В Excel2003: меню Правка → Перейти → Выделить → Объекты.
В Excel2007: вкладка Главная → Найти и выделить → Выделение группы ячеек → Объекты.
Весь процесс сопровождался долгими лагами, но в итоге выделилась какая-то непонятная ерунда, которую я удалил, после чего торможение пропало.
К сожалению, в моем файле оказалось почти 14 000! объектов :(. Чтобы увидеть все объекты, пройдите по меню: вкладка Главная → Найти и выделить → Область выделения:
(чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке)
Часть объектов можно увидеть справа на экране; один объект под номером 13 697 выделен в списке и на экране:
При попытке выделить все объекты Excel зависал (через 30 минут мне надоело, и я снял задачу).
Второе обращение к Google «навело» меня на макрос, предложенный The_Prist. Я его немного модернизировал, и получил:
Dim oSh As Shape
For Each oSh In ActiveSheet.Shapes
То есть, я решил не выделять все объекты сразу, а запустить макрос, который будет находить объекты по одному и удалять. В моем файле макрос справился с уничтожением 14 000 объектов за 5 минут! 🙂
Прилагаю файл Excel2007, содержащий эти злосчастные 14 000 объектов Пример тормоза
Изменив Office 2010 на Office 2016, Excel стал тормозить при работе с файлами, которые были выгружены/созданы 1С и подобных (ERP) систем…, а именно при попытке скопировать/переместить какие-либо ячейки.
Комп новый, не в нем проблема, к тому же с созданными Excel файлами, такой проблемы не наблюдается. Файл маленького размера до 100 кб. Файл преобразовывал в xlsx . Принтер, который по умолчанию - подключен. Работа в Windows 10 c Office 2016, установлены все обновления. Антивирус отключен.
Ни один из нижеперечисленных методов результата не дал:
- Поиск объектов: вкладка Главная → Найти и выделить → Выделение группы ячеек → Объекты. Не найдено ни одного объекта!
- Закрытие Outlook, так как торможение файлов, так же может наблюдаться при открытом почтовом клиенте Outlook, если у него установлены параметры отслеживание действий с файлами для Пользователя. Соответственно отменил отслеживание действий с файлами.
- Открытия файла как архив. Отсутствие папки drawings.
- Условное форматирование → Удалить правила → Удалить правила со всего листа.
- Очистить форматы – не помогло
В чем может быть проблема?!
Эта цепочка заблокирована. Вы можете просмотреть вопрос или оставить свой голос, если сведения окажутся полезными, но вы не можете написать ответ в этой цепочке.
Оскорбление — это любое поведение, которое беспокоит или расстраивает человека или группу лиц. К угрозам относятся любые угрозы самоубийством, насилием, нанесением ущерба и др. Любое содержимое для взрослых или недопустимое на веб-сайте сообщества. Любое изображение, обсуждение наготы или ссылка на подобные материалы. Оскорбительное, грубое или вульгарное поведение и другие проявления неуважения. Любое поведение, нарушающее лицензионные соглашения, в том числе предоставление ключей продуктов или ссылок на пиратское ПО. Незатребованная массовая рассылка или реклама. Любые ссылки или пропаганда сайтов с вирусным, шпионским, вредоносным или фишинговым ПО. Любое другое неуместное содержимое или поведение в соответствии с правилами использования и кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другими вариантами оскорбления или эксплуатации детей.
Меня часто спрашивают, зачем в Excel множество форматов файлов? А выбор действительно большой. Давайте разберемся поподробнее, для чего нужны разные расширение файлов Excel. Большинство типов файлов действительно полезны!
1. Расширение файлов Excel. Чем отличается *.xlsx от *.xls?
Сперва ответим на самый распространенный вопрос
Файл с расширением *.xlsx — это формат подавляющего большинства файлов Excel на настоящий момент. Появился начиная с версии 2007. Как говорит нам википедия: это набор *.xml файлов, помещенный в архив.
Файл с расширением *.xls — это формат всех файлов версии Excel 2003 и раньше. Он не является архивом. Имеет меньше возможностей, работает медленнее.
2. Формат с поддержкой макросов в Эксель
Расширение *.xlsm — Расширение файлов Excel 2007 и выше. Способен хранить в себе макросы . Т.е. программный код на языке VBA (Visual Basic for Applications), подробнее читайте здесь.
3. Двоичная книга Excel. *.xlsb
Расширение *.xlsb — это, объективно, самый удобный формат Excel. Это расширение позволяет уменьшать размер файла примерно в два раза, а убыстряет его работу где-то в полтора раза. Дело в том, что это документ хранящий информацию в бинарном коде, что позволяет быстрее работать с форматом .XML. Расширение просто не заменимо когда вы работаете с файлом с десятками тысяч строк (сохраните файл как Двоичная книга Excel (см. первую картинку). Тотальный разбор, от чего может тормозить Excel, читайте здесь .
Почему тогда все не пользуются этим форматом, если он такой хороший? Потому что ни один редактор не сможет открыть его, только Excel, т.е. теряется универсальность использования. Наприме, вы не откроете его онлайн или его не прочитает большинство альтернатив Excel.
Но, к сожалению, просто большинство пользователей никогда не слышало о *.xlsb.
4. Расширение *.xltx
Это формат для сохранения шаблонов. Скоро будет отдельная статья по этой теме. Макросы не сохраняет, для этого есть формат *.xltm — тоже самое, но с макросами.
5. Расширения *.xlam и *.xla
Форматы для cохранения надстроек в 2007 и выше и 2003 и ниже соответственно. Очень пригодятся, если нужно запускать макрос из любой книги.
Если вам попался формат .xlс — то это формат для сохранения диаграмм в Excel 2003. Формат — большая редкость и уже не поддерживается новыми версиями программы. Так же как и форматы WK1 и выше и форматы постепенно отмирающей Lotus 1-2-3.
Читайте также: