Современные технологии обработки данных и автоматизации документооборота требуют интеграции различных форматов файлов, обеспечивающих взаимодействие программных продуктов. Благодаря широкому спектру возможностей текстовый редактор Microsoft Word стал одним из популярнейших редакторов разной сложности.
В некоторых ситуациях возникает потребность конвертирования таких документов в форматы, свойственные иным приложениям. Существует случаи необходимости конвертации файлов Microsoft Word в формат FastReport .NET, используемый для создания шаблонов отчетов при работе с FastReport.
Первым делом откройте .sln-файл под названием FastReport.OOXMLImportPlugin.sln. Обратите внимание, что существует 2 таких файла для VisualStudio 2017 и версии выше. Затем удалите ссылки на проекты FastReport и FastReport.Bars как на скриншоте ниже.
После этого нужно добавить ссылку на FastReport.dll. Эта DLL находится в одной папке с Designer.
Нажмите ПКМ в рабочем пространстве и кнопку «Собрать». После чего перейдите по пути FastReport.OOXMLImportPlugin\bin\Debug\net472
и в папке найдете собранный файл «OOXMLImportPlugin.dll».
Вы можете сделать это несколькими способами.
Откройте дизайнер отчетов, затем перейдите в меню «Файл|Настройки...» в Ribbon интерфейсе (меню «Вид|Настройки...» в стандартном интерфейсе).
Далее на вкладке «Плагины» добавьте FastReport.OOXMLImportPlugin.dll.
После этого перезапустите дизайнер FastReport .NET. Если вы работаете в среде Visual Studio IDE, то перезапустите ее тоже. Как только дизайнер будет вновь запущен, то нажмите «Файл|Открыть» и выберите пункт «Документ Microsoft Word (*.docx)» в списке доступных файлов как на скриншоте ниже.
Выберите нужный вам файл *.docx для импорта в FastReport .NET. В результате вы увидите импортированный файл в дизайнере.
По умолчанию этот файл находится в папке C:\DocumentsandSettings\user_name\Local Settings\Application Data\FastReport
. Обязательно закройте все запущенные экземпляры FastReport .NET. И только после этого откройте файл конфигурации в любом текстовом редакторе, а затем измените его следующим образом:
<?xml version=«1.0» encoding=«utf-8»?> <Config> ... <Plugins <Plugin Name=«c:\.....\ OOXMLImportPlugin.dll»/> </Plugins> </Config
Для этого вам понадобится добавить ссылку «OOXMLImportPlugin.dll» в ваш проект как показано ниже.
Далее выполните следующий код один раз при запуске приложения:
FastReport.Design.DesignerPlugins.Add(typeof(FastReport.Design.ImportPlugins.OOXML.DocxImportPlugin));
В первую очередь установите nuget пакеты FastReport.Net и FastReport.Plugins.OOXMLImport с нашего приватного nuget сервера. Инструкция по установке доступна по этой ссылке.
Далее нужно зарегистрировать плагин через следующий код:
FastReport.Design.DesignerPlugins.Add(typeof(FastReport.Design.ImportPlugins.OOXML.DocxImportPlugin));
Запустите приложение, затем нажмите «Файл|Открыть» и выберите пункт «Документ Microsoft Word (.docx)».
Выберите нужный вам файл *.docx для импорта в FastReport .NET. В результате вы увидите импортированный файл в дизайнере.
На данный момент наш плагин не поддерживает: подсветку фона части строки, шейпы (Shapes), а также вложенную векторную графику Vector Markup Language (VML) и OLE объекты.
Иногда добавляются пустые страницы в получившийся отчет. Если вы столкнётесь с описанной проблемой, то напишите нам в техническую поддержку support@fastreport.ru.
Таким образом, разработанный конвертер из .docx в .frx является важным шагом в области упрощения автоматизации процессов работы с документами и генерации отчетов. Он позволяет существенно сократить время на создание шаблонов отчетов, используя готовые файлы Word.
Важно учесть, что структуры обоих файлов форматов различны и их нельзя просто вставить один в другой. Необходимо учитывать структуры файлов и привести всё к требуемому виду, чтобы данные содержались правильно и форматирование сохранилось. Как подготовить документ так, чтобы он сохранил свою правильную структуру, читайте в этом материале.