чем открыть файл rels

Недавно мне понадобилось встроить в CRM возможность создания отчетов в Excel посредством PHP, но готовые решения были сильно громоздкими. Поэтому я решил написать собственную библиотеку для работы с Excel файлами через PHP. Но информации о внутренности Excel было очень мало и мне пришлось собирать ее по крупинкам, иногда методами тыка, проб и ошибок разбирал работу некоторых элементов.

На написание данной статьи меня натолкнули уже существующие статьи от @Lachrimae.

Оглавление:

Структура файлов

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл relsДерево файлов и подкаталогов

Некоторые файлы могут отсутствовать, такие как: xl/worksheets/_rels/sheet.xml.rels, xl/calcChain.xml, xl/printerSettings/printerSettings1.bin и sharedString.xml

В папках xl/worksheets, xl/printerSettings и xl/worksheets/_rels могут быть по несколько файлов.

Давайте разберёмся, для чего все эти файлы, начнём по порядку:

Разбор файла _rels/.rels

Разбор docProps/app.xml

Содержимое данного файла примерно такая (не все элементы могут присутствовать и иметь тот же вид, что и у меня):

Первая строка нам уже знакома.

Во второй строке открывающий тег properties и эта строка похожа на рассмотренную нами ранее.

Означает безопасность документа и в зависимости от числа имеет следующий посыл:

указывает режим отображения эскиза документа. Установите для этого элемента значение TRUE, чтобы включить масштабирование эскиза документа на экране. Установите для этого элемента значение FALSE, чтобы включить обрезку эскиза документа, чтобы отображались только те разделы, которые соответствуют отображаемому значению (из документации microsoft).

Далее открывается тег HeadingPairs, внутри которого описаны группы частей документа и количество частей в каждой группе. Эти части являются не частями документа, а концептуальными представлениями разделов документа.

Внутри HeadingPairs мы имеем 1 векторный контент, в котором имеются 2 его части (подробнее о векторах и baseType можно почитать в документации microsoft).

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

В теге Company можно записать название компании.

Элемент SharedDoc указывает, является ли этот документ в настоящее время общим для нескольких производителей. Если для этого элемента установлено значение TRUE, производителям следует проявлять осторожность при обновлении документа.

HyperlinksChanged указывает, что одна или несколько гиперссылок в этой части были обновлены исключительно в этой части производителем. Следующий производитель, который откроет этот документ, обновит отношения гиперссылок новыми гиперссылками, указанными в этой части.

Тег AppVersion указывает версию используемого приложения Excel при создании файла

Разбор docProps/core.xml

Содержимое файла примерно таково:

Первая строка нам уже знакома.

Во второй строке открывающий тег cp:coreProperties и эта строка похожа на рассмотренную нами ранее. Внутри него описываются свойства приложения:

Разбор xl/_rels/workbook.xml.rels

Примерное содержимое файла:

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

Здесь записаны зависимости всех листов в книге, файла со строковыми значениями, цепочками вычислений и прочих файлов (мы разберем эти файлы дальше)

Разбор xl/printerSettings/printerSettings1.bin

Это файл, содержащий код в бинарном виде. Чтобы разобрать этот файл нужно описать много вещей про бинарники, а, чтобы научить писать правильно такой файл, потребуется много сил, времени и много текста. Да и в целом не вижу смысла вам работать с этим файлом. (честно говоря, я сам поверхностно знаком с этой темой).

Разбор xl/theme/theme1.xml

Разбор xl/worksheets/_rels/sheet1.xml.rels

Содержимое этого файла может быть следующим:

Разбор xl/worksheets/sheet1.xml

Начинается самое интересное и большое в этой статье.

Начинается такой файл с обычного объявления типа документа xml и некоторых настроек:

Строка третья означает размер экспортируемого диапазона (с какой по какую ячейку находятся данные).

такая строка может выглядеть и вот так:

Здесь уже вместо атрибута activeCell стоит activeCellId, потому что в атрибуте sqref мы видим несколько диапазонов. исходя из этого выясняем, что активный диапазон является A1:C3. на изображении ниже показано, как выглядит такой вариант выделения ячеек.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл relsВыделенные ячейки

Про тег pane, sheetFormatPr и cols хорошо рассказано в статье от @Lachrimae:

Собственно, закрепление строки — тег

. И вот какие здесь использованы атрибуты:

ySplit — показывает количество закрепленных строк. Для закрепления столбцов есть аналогичный атрибут xSplit;

topLeftCell — указание левой верхней ячейки, видимой по умолчанию НЕзакрепленной области;

activePane — указание местонахождения НЕзакрепленной области. В руководствах сказано, что этот атрибут регулирует, с какой стороны будет НЕзакрепленная область. Правда, попробовав разные значения, я почему-то получил одинаковый результат. Как вариант «by default» я для себя выбрал bottomRight;

state — указатель состояния закрепленной области. Для простого закрепления строки используется значение frozen

Интересен нам здесь в основном атрибут defaultRowHeight, то есть высота столбца по умолчанию. Стандартный, привычный нам вариант — 15 у.е. Если назначить его, скажем, 30 у.е., то строки, для которых высота не указана отдельно, станут в 2 раза выше. Однако, для того чтоб применить значение, отличное от дефолтного, необходимо указать атрибут customHeight со значением «true». Выглядит это примерно так:

Вложенные теги обозначают не каждый один столбец, как могло показаться, а группу столбцов, идущих подряд и имеющих единую ширину.

Атрибут min — первый столбец группы;

Атрибут max — последний столбец группы;

Атрибут width — ширина столбца из группы;

Атрибут customWidth — флаг применения кастомной ширины, без него ширина все равно будет дефолтной;

здесь структура такова:

В Excel это будет выглядеть вот так:

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл relsЯчейки с данными

Давайте разбираться, что же все-таки в коде происходит.

С тегом sheetData разобрались, идем дальше.

Про теги mergeCells и autoFilter снова обратимся к статье от @Lachrimae:

Как мы знаем, в Excel есть возможность объединения ячеек. Все объединенные ячейки на листе перечислены здесь. В заполненном виде тег выглядит примерно так:

Как видно, одна объединенная ячейка обозначена одним тегом с единственным атрибутом ref, задающим диапазон объединения.

Тег . Фильтры, которые так любят видеть в отчетах наши пользователи. В заполненном виде тег выглядит так:

Нетрудно понять, что атрибут ref задает зону, занимаемую активными ячейками фильтров.

Тег pageMargins задает поля сверху, снизу, справа, слева, у заголовков и у подвала для печатаемой страницы.

Тег pageSetup предпочтительные настройки бумаги, опять же, для печати.

Источник

Расширение файла RELS

Open Office XML Relationships Format

Что такое файл RELS?

Полное имя формата файлов, которые используют расширение RELS: Open Office XML Relationships Format. Спецификация Open Office XML Relationships Format была создана Microsoft. Формат файла RELS совместим с программным обеспечением, которое может быть установлено на системной платформе Mac OS, Windows. RELS файл относится к категории Файлы макетов страниц так же, как #NUMEXTENSIONS # других расширений файлов, перечисленных в нашей базе данных. Microsoft Word поддерживает RELS файлы и является наиболее часто используемой программой для обработки таких файлов, но 6 могут также использоваться другие инструменты. Программное обеспечение Microsoft Word было разработано Microsoft Corporation, и на его официальном веб-сайте вы можете найти дополнительную информацию о файлах RELS или программном обеспечении Microsoft Word.

Программы, которые поддерживают RELS расширение файла

В следующем списке перечислены программы, совместимые с файлами RELS, которые разделены на категории 2 в зависимости от операционной системы, в которой они доступны. Файлы с расширением RELS, как и любые другие форматы файлов, можно найти в любой операционной системе. Указанные файлы могут быть переданы на другие устройства, будь то мобильные или стационарные, но не все системы могут быть способны правильно обрабатывать такие файлы.

Программы, обслуживающие файл RELS

Как открыть файл RELS?

Отсутствие возможности открывать файлы с расширением RELS может иметь различное происхождение. Что важно, все распространенные проблемы, связанные с файлами с расширением RELS, могут решать сами пользователи. Процесс быстрый и не требует участия ИТ-специалиста. Мы подготовили список, который поможет вам решить ваши проблемы с файлами RELS.

Шаг 1. Установите Microsoft Word программное обеспечение

Шаг 2. Обновите Microsoft Word до последней версии

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл relsЕсли проблемы с открытием файлов RELS по-прежнему возникают даже после установки Microsoft Word, возможно, у вас устаревшая версия программного обеспечения. Проверьте веб-сайт разработчика, доступна ли более новая версия Microsoft Word. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Если у вас установлена более старая версия Microsoft Word, она может не поддерживать формат RELS. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью Microsoft Word.

Шаг 3. Назначьте Microsoft Word для RELS файлов

Если проблема не была решена на предыдущем шаге, вам следует связать RELS файлы с последней версией Microsoft Word, установленной на вашем устройстве. Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

Изменить приложение по умолчанию в Windows

Изменить приложение по умолчанию в Mac OS

Шаг 4. Проверьте RELS на наличие ошибок

Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным RELS файлом. Отсутствие доступа к файлу может быть связано с различными проблемами.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

1. Убедитесь, что RELS не заражен компьютерным вирусом

Если RELS действительно заражен, возможно, вредоносное ПО блокирует его открытие. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. Если сканер обнаружил, что файл RELS небезопасен, действуйте в соответствии с инструкциями антивирусной программы для нейтрализации угрозы.

2. Убедитесь, что структура файла RELS не повреждена

Вы получили RELS файл от другого человека? Попросите его / ее отправить еще раз. Возможно, файл был ошибочно скопирован, а данные потеряли целостность, что исключает доступ к файлу. Это может произойти, если процесс загрузки файла с расширением RELS был прерван и данные файла повреждены. Загрузите файл снова из того же источника.

3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.

Некоторые файлы требуют повышенных прав доступа для их открытия. Войдите в систему, используя учетную запись администратора, и посмотрите, решит ли это проблему.

4. Убедитесь, что в системе достаточно ресурсов для запуска Microsoft Word

Если в системе недостаточно ресурсов для открытия файлов RELS, попробуйте закрыть все запущенные в данный момент приложения и повторите попытку.

5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов

Последние версии программ и драйверов могут помочь вам решить проблемы с файлами Open Office XML Relationships Format и обеспечить безопасность вашего устройства и операционной системы. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами RELS, влияющими на более старые версии данного программного обеспечения.

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла RELS мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле RELS.

Источник

Восстановление файлов формата RELS

Руководство для Windows, MacOS, Android и IOS систем в 2021

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

Файл, содержащийся в документах Microsoft Open Office XML; содержит спецификации XML для того, как «части» в «пакете» связаны с формой документа; сохранен в каталоге _rels XML-документа Open Office.

Программы для восстановления файлов

В случаях, когда файлы удалены и стандартными средствами системы их восстановить уже не предоставляется возможным, используйте Hetman Partition Recovery.

1. Загрузите, установите и запустите программу.

2. Программа автоматически просканирует компьютер и отобразит все подключенные к нему жесткие диски и съёмные носители информации, физические и локальные диски.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

3. Дважды кликните на диске, файлы из которого необходимо восстановить, и выберите тип анализа.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

4. После окончания процесса сканирования вам будут предоставлены файлы для восстановления.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

5. Чтобы найти нужный перейдите в интерфейсе программы в папку из которой он был удалён. Или перейдите в папку «Глубокий анализ» и выберите искомый тип файла.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

6. Выделите нужные файлы и нажмите кнопку «Восстановить».

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

7. Выберите один из предложенных способов сохранения файлов и восстановите их.

Источник

Как я разбирал docx с помощью XSLT

Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

Зачем?

docx — самый популярный формат документов, поэтому задача отдавать информацию пользователю в этом формате всегда может возникнуть. Один из вариантов решения этой проблемы — использование готовой библиотеки, может не подходить по ряду причин:

Поэтому в этой статье будем использовать только самые базовые инструменты для работы с docx документом.

Структура docx

Для начала разоберёмся с тем, что собой представляет docx документ. docx это zip архив который физически содержит 2 типа файлов:

А логически — 3 вида элементов:

Они подробно описаны в стандарте ECMA-376: Office Open XML File Formats, основная часть которого — PDF документ на 5000 страниц, и ещё 2000 страниц бонусного контента.

Минимальный docx

Простейший docx после распаковки выглядит следующим образом

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

Давайте посмотрим из чего он состоит.

[Content_Types].xml

Находится в корне документа и перечисляет MIME типы содержимого документа:

_rels/.rels

Главный список связей документа. В данном случае определена всего одна связь — сопоставление с идентификатором rId1 и файлом word/document.xml — основным телом документа.

word/document.xml

word/_rels/document.xml.rels

Даже если связей нет, этот файл должен существовать.

docx и Microsoft Word

docx созданный с помощью Microsoft Word, да в принципе и с помощью любого другого редактора имеет несколько дополнительных файлов.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

Вот что в них содержится:

В сложных документах частей может быть гораздо больше.

Реверс-инжиниринг docx

Итак, первоначальная задача — узнать как какой-либо фрагмент документа хранится в xml, чтобы потом создавать (или парсить) подобные документы самостоятельно. Для этого нам понадобятся:

Инструменты

Также понадобятся скрипты для автоматического (раз)архивирования и форматирования XML.
Использование под Windows:

Использование

Поиск изменений происходит следующим образом:

Пример 1. Выделение текста жирным

Посмотрим на практике, как найти тег который определяет форматирование текста жирным шрифтом.

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels
Рассмотрим его подробно:

docProps/app.xml

Изменение времени нам не нужно.

docProps/core.xml

Изменение версии документа и даты модификации нас также не интересует.

word/document.xml

Изменения в w:rsidR не интересны — это внутренняя информация для Microsoft Word. Ключевое изменение тут

в параграфе с Test. Видимо элемент и делает текст жирным. Оставляем это изменение и отменяем остальные.

word/settings.xml

Также не содержит ничего относящегося к жирному тексту. Отменяем.

7 Запаковываем папку с 1м изменением (добавлением ) и проверяем что документ открывается и показывает то, что ожидалось.
8 Коммитим изменение.

Пример 2. Нижний колонтитул

Теперь разберём пример посложнее — добавление нижнего колонтитула.
Вот первоначальный коммит. Добавляем нижний колонтитул с текстом 123 и распаковываем документ. Такой diff получается первоначально:

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

Сразу же исключаем изменения в docProps/app.xml и docProps/core.xml — там тоже самое, что и в первом примере.

[Content_Types].xml

footer явно выглядит как то, что нам нужно, но что делать с footnotes и endnotes? Являются ли они обязательными при добавлении нижнего колонтитула или их создали заодно? Ответить на этот вопрос не всегда просто, вот основные пути:

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels
Идём пока что дальше.

word/_rels/document.xml.rels

Изначально diff выглядит вот так:

Видно, что часть изменений связана с тем, что Word изменил порядок связей, уберём их:

Опять появляются footer, footnotes, endnotes. Все они связаны с основным документом, перейдём к нему:

word/document.xml

Редкий случай когда есть только нужные изменения. Видна явная ссылка на footer из sectPr. А так как ссылок в документе на footnotes и endnotes нет, то можно предположить что они нам не понадобятся.

word/settings.xml

А вот и появились ссылки на footnotes, endnotes добавляющие их в документ.

word/styles.xml

Изменения в стилях нас интересуют только если мы ищем как поменять стиль. В данном случае это изменение можно убрать.

word/footer1.xml

Посмотрим теперь собственно на сам нижний колонтитул (часть пространств имён опущена для читабельности, но в документе они должны быть):

В результате анализа всех изменений делаем следующие предположения:

Уменьшаем diff до этого набора изменений:

чем открыть файл rels. Смотреть фото чем открыть файл rels. Смотреть картинку чем открыть файл rels. Картинка про чем открыть файл rels. Фото чем открыть файл rels

Затем запаковываем документ и открываем его.
Если всё сделано правильно, то документ откроется и в нём будет нижний колонтитул с текстом 123. А вот и итоговый коммит.

Таким образом процесс поиска изменений сводится к поиску минимального набора изменений, достаточного для достижения заданного результата.

Практика

Найдя интересующее нас изменение, логично перейти к следующему этапу, это может быть что-либо из:

Тут нам потребуются знания XSLT и XPath.

Давайте напишем достаточно простое преобразование — замену или добавление нижнего колонтитула в существующий документ. Писать я буду на языке Caché ObjectScript, но даже если вы его не знаете — не беда. В основном будем вызовать XSLT и архиватор. Ничего более. Итак, приступим.

Алгоритм

Алгоритм выглядит следующим образом:

Распаковка

Создаём файл нижнего колонтитула

На вход поступает текст нижнего колонтитула, запишем его в файл in.xml:

В XSLT (файл — footer.xsl) будем создавать нижний колонтитул с текстом из тега xml (часть пространств имён опущена, вот полный список):

В результате получится файл нижнего колонтитула footer0.xml :

Добавляем ссылку на колонтитул в список связей основного документа

Сссылки с идентификатором rId0 как правило не существует. Впрочем можно использовать XPath для получения идентификатора которого точно не существует.
Добавляем ссылку на footer0.xml c идентификатором rId0 в word/_rels/document.xml.rels :

Прописываем ссылки в документе

Далее надо в каждый тег добавить тег или заменить в нём ссылку на наш нижний колонтитул. Оказалось, что у каждого тега может быть 3 тега — для первой страницы, четных страниц и всего остального:

Добавляем колонтитул в [Content_Types].xml

Добавляем в [Content_Types].xml информацию о том, что /word/footer0.xml имеет тип application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml :

В результате

Весь код опубликован. Работает он так:

Выводы

Используя только XSLT и ZIP можно успешно работать с документами docx, таблицами xlsx и презентациями pptx.

Источник

Расширение файла RELS

Оглавление

Мы надеемся, что вы найдете на этой странице полезный и ценный ресурс!

1 расширений и 0 псевдонимы, найденных в базе данных

✅ Microsoft Office 2007 Relationships

Другие типы файлов могут также использовать расширение файла .rels.

По данным Поиск на нашем сайте эти опечатки были наиболее распространенными в прошлом году:

Это возможно, что расширение имени файла указано неправильно?

Мы нашли следующие аналогичные расширений файлов в нашей базе данных:

Если дважды щелкнуть файл, чтобы открыть его, Windows проверяет расширение имени файла. Если Windows распознает расширение имени файла, файл открывается в программе, которая связана с этим расширением имени файла. Когда Windows не распознает расширение имени файла, появляется следующее сообщение:

Windows не удается открыть этот файл:

Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия.

Если вы не знаете как настроить сопоставления файлов .rels, проверьте FAQ.

🔴 Можно ли изменить расширение файлов?

Изменение имени файла расширение файла не является хорошей идеей. Когда вы меняете расширение файла, вы изменить способ программы на вашем компьютере чтения файла. Проблема заключается в том, что изменение расширения файла не изменяет формат файла.

Если у вас есть полезная информация о расширение файла .rels, напишите нам!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *