Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ooxml strict converter для office 2020

Генерируем OfficeOpenXML-документы за 5 минут

Часто надо бывает из приложения на ASP.NET сгенерировать отчёт на сервере в OpenXML-формате.

Есть несколько привычных способов сделать это:

  1. «Нашёл, слинковал, заюзал» – идём в Гугл, ищем библиотеку для генерации docx или xlsx, подключаем, разбираемся, генерируем. Это привычно, но долго.
  2. «Фу» – использовать COM. Это не рекомендуется, требует установленного Microsoft Office на сервере, не очень thread-safe, с x64 не дружит и вообще старомодно.
  3. «Ъ» – разобраться с форматом, собрать из XML и зазипать. Брутально.
  4. «Microsoft way» – об этом способе рассказывается под катом.

Небольшое введение

OfficeOpenXML – это то, в чём вы по умолчанию сохраняете документы, работая в Word и Excel: docx и xlsx. Файл представляет собой zip-архив. Его можно переименовать в zip, открыть архиватором и рассмотреть, что внутри:

Отчёты в OOXML хорошо воспринимаются и редактируются привычными средствами. Я бы не рекомендовал в серьёзных приложениях ограничиваться именно этим форматом, но советую поддерживать его.

Подготовка

Нам понадобятся:

    Microsoft OpenXML SDK: www.microsoft.com/downloads/en/details.aspx?Family >

Поехали

Запускаем Open XML SDK 2.0 Productivity Tool:

Эта тулза очень простая и умеет делать две маленькие, но важные операции:

  • Сгенерировать код по документу
  • Сравнивать документы на уровне XML

Но обо всём по порядку.

Генерация кода

Загружаем в программулину наш документ и кликаем «Reflect Code»:

Слева мы видим структуру документа – те же файлы, что присутствуют в архиве, и представление их содержимого.
Ноды в дереве можно выделять: справа видно содержимое ноды в виде XML и код, который может сгенерировать именно этот кусочек. На моём примере виден один абзац из тела документа. Оно как раз живёт в word/document.xml.
Если выделить корень дерева (сам документ) – получим код для всего документа.

Теперь давайте поиспользуем этот код
  1. Делаем проект в Visual Studio. Пусть это будет простое консольное C#-приложение
  2. Добавляем референс на сборку DocumentFormat.OpenXml:

    У меня она в GAC. Если вы не хотите её туда класть, можно добавить ссылку на сам файл. Отдельно скачать его можно там же, где был OpenXMLSDKTool, но по ссылке OpenXMLSDKv2.msi
  3. Добавляем референс на WindowsBase
  4. Добавляем файл «GeneratedClass.cs»
  5. Копируем туда код из тулзы, из окошка ReflectedCode
  6. Закрываем файл, сохранив его, переходим в Program.cs
  7. Пишем метод Main:

new GeneratedCode.Generated >@»D:TempOutput.docx» );

  • Запускаем
  • Всё. Код для генерации документа готов. Документ будет выглядеть точно так же, как он выглядел перед тем, как вы сохранили его в Word. Быстро, не правда ли?

    Что внутри?

    public void CreatePackage( string filePath) <
    using (WordprocessingDocument package = WordprocessingDocument.Create(filePath, WordprocessingDocumentType.Document)) <
    CreateParts(package);
    >
    >

    private void GenerateMainDocumentPart1Content(MainDocumentPart mainDocumentPart1) <
    Run run2 = new Run() < Rs >«00184031» >;
    Text text2 = new Text();
    text2.Text = «Исчисление предикатов, по определению, философски выводит структурализм, изменяя привычную реальность.» ; // о.О какую траву курил Яндекс?
    >

    Завязываем бантики

    public byte [] CreatePackageAsBytes() <
    using ( var mstm = new MemoryStream()) <
    using (WordprocessingDocument package = WordprocessingDocument.Create(mstm, WordprocessingDocumentType.Document)) <
    CreateParts(package);
    >
    mstm.Flush();
    mstm.Close();
    return mstm.ToArray();
    >
    >

    Всё, код для генерации отчёта в формате docx готов.
    Осталось заменить контент на динамический. Мы же не делали всё это ради того, чтобы всё время отдавать одно и то же, ведь правда? И добавить на страничку ссылку «Скачать в формате Word».

    Сравнение документов

    Итак, мы сгенерировали код по документу. Добавили туда много данных, зарефакторили его, внедрили в production. И вот нам надо поменять шрифт и текст в отчёте. Как же это сделать? Кода много, искать в нём долго.
    Оказывается, всё очень просто, нам поможет фича сравнения документов:

    1. Положим рядом старый и новый документы
    2. Открываем Open XML Productivity Tool, выбираем «Compare files. »:
    3. Открываем файлы и жмём OK. Перед нами результат сравнения:

    На строчки с именами файлов можно тыкнуть и увидеть, в чём именно отличия:

    В MoreOprions выбирается, что игнорировать при сравнении.
    View Part Code показывает код той части, XML которой вы видите.
    Уж сопоставить XML и код труда не составит.

    Кстати, эту фичу ещё очень удобно использовать, если вы только знакомитесь с форматом OpenXML: добавляете что-то в документ и смотрите, что изменилось. Поможет тем, кто выбрал способ «Ъ», о котором говорилось в начале статьи.

    для Windows » href=»https://microsoft-office-file-converter-pack.ru.softonic.com»>Microsoft Office File Converter Pack для Windows

    На языке Русский

  • Version: 11.0.0.0
    • 2.5 User Rating

      Обзор Softonic

      Бесплатная программа для служебных программ для Windows

      Microsoft Office File Converter Pack — это потрясающее бесплатное программное обеспечение для Windows, входящее в категорию программных утилит категории с субкатегорией «Текст» (более конкретно, «Конвертеры») и было создано Microsoft.

      Он доступен для пользователей с операционной системой Windows 98 и прежними версиями, и доступен на английском языке. Его текущая версия 11.0.0.0, и последнее обновление было 12/15/2006.

      Так как программное обеспечение было добавлено к нашему выбору программного обеспечения и приложений в 2006 году, ему удалось достичь 396,720 загрузок, а на прошлой неделе было 184 загрузки.

      Microsoft Office File Converter Pack — это легкое программное обеспечение, которое требует меньше места для хранения, чем большинство программ в категории Программные утилиты. Это очень популярное программное обеспечение во многих странах, таких как Индия, США и Бангладеш.

      Подробнее о пакете конвертеров файлов Microsoft Office

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

      Что это значит?

      Мы просканировали файл и URL-адреса, связанные с этой программой, более чем в 50 ведущих мировых антивирусных программах. Возможная угроза не была выявлена.

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

      Почему эта программа все еще доступна?

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

      Что такое ложный положительный результат?

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

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

      Почему эта программа больше недоступна в нашем каталоге?

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

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

      Помечайте любые проблемы, с которыми вы можете столкнуться, и Softonic устранит их в максимально короткие сроки.

      Sustainability of Digital Formats: Planning for Library of Congress Collections

      Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact

      DOCX Strict (Office Open XML), ISO 29500-1: 2008-2016

      >

      Full nameDOCX Strict, (Office Open XML, WordprocessingML) ISO 29500-1:2008-2016, also ECMA-376, Editions 2-5.Description

      The Strict variant of DOCX disallows a variety of elements and attributes that are permitted in the more common Transitional variant (DOCX/OOXML_2012). The markup for the Strict variant is essentially a subset of markup for the Transitional variant, but the schemas use different namespaces and are distributed separately in complete form.

      Among the disallowed elements and attributes are:

      • Deprecated element names related to text layout incorporating left and right that had been replaced by more correctly named and functionally equivalent names incorporating start and end.
      • Attribute values for non-Unicode character sets.
      • Legacy numbering level properties and other elements related to a legacy numbering framework.
      • All elements and attributes related to VML, a deprecated markup language for drawings, replaced by DrawingML.
      • Attributes specifying deprecated and redundant mechanisms for generating hash values to support checks against content corruption.
      • Compatibility settings intended to preserve visual fidelity of documents produced in earlier word-processing applications, particularly in relation to spacing, margins, pagination, etc.

      The Strict variant of DOCX described here was introduced during the standardization in ISO/IEC 29500 in 2008 with the intention of excluding features included in ECMA-376, Edition 1 that were present simply to handle bugs and features of earlier word-processors or to permit continued use of deprecated markup (e.g. VML markup for drawings). The intent of the split of the markup specification into Strict (Part 1) and Transitional (Part 4) was that applications would create new documents in the Strict variant; however, in practice, pressure for backwards compatibility has meant that most new files are marked up by applications using the Transitional namespace even if they use no features that are incompatible with the Strict specification.

      Note that the Strict variant of DOCX does allow extensions conforming to MCE/OOXML_2012. Microsoft has used MCE to add functionality to Microsoft Word. See [MS-DOCX], Word Extensions to the Office Open XML (.docx) File Format. A summary of the extensions through Word 2016 are listed in [MS-DOCX]: 1.3 Structure Overview (Synopsis).

      For discussion of other aspects of the Strict DOCX format, see the description of the more common Transitional variant of DOCX, DOCX/OOXML_2012.

      Production phaseCan be used in any production phase. Likely used primarily for creating documents (initial state) and for editing and review (middle-state). Documents that are formally published are often converted to a format that is designed for final publication and not for convenient editing.Relationship to other formatsSubtype ofOOXML_Family, OOXML Format Family — ISO/IEC 29500 and ECMA 376Subtype ofOPC/OOXML_2012, Open Packaging Conventions (Office Open XML), ISO 29500-2:2008-2012Modification ofDOCX/OOXML_2012, DOCX Transitional (Office Open XML), ISO 29500:2008-2016, ECMA-376, Editions 1-5. The Transitional form of DOCX allows additional legacy markup to address backward compatibility with bugs and features of older word-processors. The legacy markup is specified in Part 4 of ISO/IEC 29500.May contain MCE/OOXML_2012, Markup Compatibility and Extensibility (Office Open XML), ISO 29500-3:2008-2015, ECMA-376, Editions 1-5Defined viaXML, Extensible Markup Language (XML)

      Local use

      LC experience or existing holdingsIn 2017, the Library of Congress is not aware of any documents in the Strict form of DOCX in its collections.
      LC preferenceThe list of Library of Congress Recommended Formats Statement for Textual and Musical works, as of 2016, lists the OOXML family of formats, which includes the DOCX format, as acceptable for textual works and electronic serials. It does not distinguish between the Strict and the more common Transitional DOCX/OOXML_2012 form in its preferences.

      Sustainability factors

      ISO/IEC 29500-1, Information technology — Document description and processing languages — Office Open XML File Formats — Part 1: Fundamentals and Markup Language Reference. Latest version (dated 2016 as of February 2017) is available from ISO/IEC Publicly Available Standards.

      All editions of the OOXML standards as published by ECMA are available from ECMA-376: Office Open XML File Formats. The split between Strict and Transitional variants of DOCX was introduced in Edition 2 of ECMA-376 which is identical to ISO/IEC 29500:2008.

      The Strict variant of DOCX does not appear to be widely widely used as of February 2017, although support has been added to several applications in recent years. The ability to read Strict DOCX files was first implemented by Microsoft in Word 2010; in Windows Office, the ability to write Strict files as an option was added in Word 2013 and is available in Word 2016 and Office 365. Office for Mac 2011 could neither read nor write Strict files. The latest version of Word for a desktop Mac (in Office for Mac 2016) can read but not write Strict files.

      Versions of LibreOffice since 4.2.3 can read Strict DOCX files. The Feature Comparison provided by LibreOffice for version 5.3 (released in early 2017) indicates that Strict DOCX files can be read but not written. However, the existence of Support OOXML strict export as a project on a to-do list for LibreOffice suggests that this capability may be introduced before long. A test using LibreOffice 5.2 confirmed that DOCX files written by that application are always in the more common Transitional form, regardless of which of two .docx options is chosen from the dropdown menu in the Save As feature. Two options are presented in LibreOffice because of a few small differences found in some files produced by Microsoft Office, particularly by Office 2007. See Useful References below.

      Whether the Strict version of DOCX is more widely used in the future will likely depend on whether pressure on software vendors from governments for its adoption outweighs market pressure, which currently seems to favor backwards compatibility.

      Ooxml strict converter для office 2007

      Convert Open XML files that were created in Office 2008 for Mac or Office 2007 for Windows.

      Compress your Office Open XML files.

      Represent spreadsheets, charts, presentations, and word processing documents.

      Get an administrative template for various converters.

      Add an XML-based file format to MS Office Office 2007 system.

      Learn how to manage Office Open XML format documents.

      DisclosureInternational open standard. Maintained by ISO/IEC JTC1 SC34/WG4 as Part 1 of ISO/IEC 29500, first published in 2008.
      Documentation
      Adoption
      Название программыOpenXML/ODF Translator Add-in for Office
      Версия программы4.0
      Описание программыПлагин для обеспечения взаимодействия между приложениями на основе ODF (OpenDocument) стандарт 1.1 и MS Office — документы Office OpenXML.
      ЛицензияBSD License (бесплатно)
      Ссылка на сайт изготовителяhttp://sourceforge.net/projects/odf-converter/
      Скачать

      Если вы не нашли ответ или нужную информацию, задайте вопрос через форму обратной связи.

      Это может быть интересно:

      Комментарии (2)

      Огромное вам спасибо! На работе оупен офис, мучилась дома работая с рабочими документами, теперь все открывается нормально!!

      Как в Windows 10 удалить «Xbox»

      2019-10-18 21:48:43 Борис

      Неожиданно стала писать игры в папку temp пользователя (до этого писала на другой диск). Отключениевключение не помогает. Если папку переименовать, то пишет что система не соответствует. Может подскажете,…

      Файл с расширением .epub Чем открыть?

      2019-07-05 10:26:50 Dario

      FBReader (с fbreader.ru) пока доступен, хотя и давно не обновлялся. Бесплатен, работает на Windows XP и выше, Linux, MacOSX. Кроме EPUB поддерживает FB2. ИМХО, лучший выбор. STDU Viewer — только Windows,…

      Ошибка 0xc0000005 в Windows 7. Как исправить?

      2019-05-16 01:36:47 EvgeniiKanev

      Ошибка пропала но появилась новая( api-ms-win-core-timezone-I1-1-0.dll )Помогите Решить пожалуйста бесят уже эти ошибки. (

      Обзор умной колонки Яндекс.Станция Мини: джедайские штучки Всего лишь очередная компактная умная колонка с голосовым помощником, понимающим русский язык? Ну кого таким можно удивить на излете 2019-го? За полтора года мы уже настолько привыкли к Алисе, что не хватает разве только утюга. Впрочем, кажется, инженерам Яндекса все-таки удалось сделать кое-что интересное для любителей новых технологий

      © 1997-2020 3DNews — Daily Digital Digest | Лицензия Минпечати Эл ФС 77-22224

      При цитировании документа ссылка на сайт с указанием автора обязательна. Полное заимствование документа является нарушением
      российского и международного законодательства и возможно только с согласия редакции 3DNews.

      Читать еще:  Microsoft office 2020 купить ключ активации
    Ссылка на основную публикацию
    Adblock
    detector