Файлы Office Open XML /OOXML, DOCX, XLSX, PPTX

Формат Office Open XML был объявлен свободным и открытым форматом Ecma International в 2006 году. Является основным форматом для приложений Microsoft Office 2007 и последующих. Формат представляет собой zip-архив, содержащий xml-текст, графику и другие данные.

Open XML SDK: Understanding the Open XML file formats //docs.microsoft.com
.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла //habr.com

Word

Типы файлов по расширениям:

  • DOCX Документ
  • DOCM Документ с поддержкой макросов
  • DOTX Шаблон
  • DOTM Шаблон с поддержкой макросов

Струкутура

  • _rels
    • .rels - описание связей файлов
  • docProps
    • app.xml - описание и настройки приложения Excel
    • core.xml - подробные сведения о книге (автор, редактор, дата создания, дата редактирования)
  • word
    • _rels
      • document.xml.rels - перечень и описание зависимостей файлов, используемых в документе
    • theme
      • theme1.xml - описание стилей приложения
    • document.xml - описание настроек и структуры листов книги
    • fontTable.xml -
    • settings.xml -
    • styles.xml - описание стилей, используемых в книге
    • webSettings.xml -
  • [Content_Types].xml - описание структуры файлов контейнера и декларация типов их содержания

Содержание

Основное содержание документа находится в файле document.xml, структура содержания в деталях описана в Anatomy of a WordProcessingML File //officeopenxml.com/anatomyofOOXML.php

Excel

Типы файлов по расширениям:

  • XLSX Книга
  • XLSM Книга с поддержкой макросов
  • XLTX Шаблон
  • XLTM Шаблон с поддержкой макросов
  • XLSB Двоичная книга (не XML)
  • XLAM Надстройка с поддержкой макросов

//

Структура

Внутри XL?? контейнера находятся папки и файлы

  • _rels
    • .rels - описание связей файлов
  • docProps
    • app.xml - описание и настройки приложения Excel
    • core.xml - подробные сведения о книге (автор, редактор, дата создания, дата редактирования)
  • xl
    • _rels
      • workbook.xml.rels - перечень и описание зависимостей файлов, используемых в книге
    • charts
    • chartsheets
    • drawings
      • _rels
      • drawing1.xml
    • pivotCache
    • pivotTables - ? сводные таблицы
      • _rels
      • pivotTable1.xml
      • ...
    • printerSettings
      • printerSettings1.bin - бинарный файл с описанием настроек для печати листа
    • theme
      • theme1.xml - описание стилей приложения
    • worksheets
      • _rels
        • sheet1.xml.rels - описание связей листа xl/worksheets/sheet1.xml с другими документами
        • ...
      • sheet1.xml - описание содержания первого листа по порядку
      • ... другие листы по порядку, включая скрытые
    • caclChain.xml - цепочка вычислений, указывающая порядок вычислений ячеек в книге в последний раз
    • sharedStrings.xml - перечень строковых значений, используемых во всей книге
    • styles.xml - описание стилей, используемых в книге
    • workbook.xml - описание настроек и структуры листов книги
  • [Content_Types].xml - описание структуры файлов контейнера и декларация типов их содержания

Лайфхакі

Защита книги

Защищенная книга содержит в файле workbook.xml тэг <workbookProtection.../>, при удалении которого блокировка снимается.

Защита листа

Защищенный лист книги содержит в файле sheet*.xml тэг <sheetProtection .../>, при удалении которого блокировка снимается.

PowerPoint

//

  • PPTX Презентация
  • PPTM Презентация с поддержкой макросов
  • POTX Шаблон
  • POTM Шаблон с поддержкой макросов
  • PPAM Надстройка с поддержкой макросов
  • PPSX Демонстрация
  • PPSM Демонстрация с поддержкой макросов
  • SLDX Слайд
  • SLDM Слайд с поддержкой макросов
  • THMX Тема Office

//

Источники

Office Open XML //wikipedia.org
Open XML SDK: Understanding the Open XML file formats //docs.microsoft.com
.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла //habr.com
Форматы Open XML и расширения имен файлов //support.microsoft.com
Справочник по форматам файлов Word, Excel и PowerPoint //docs.microsoft.com

Anatomy of a WordProcessingML File //officeopenxml.com/anatomyofOOXML.php

Leave a Reply