Импорт отчётов из Crystal Reports в FastReport .NET

01.09.2021

Импорт отчётов из Crystal Reports в FastReport .NET

Зачастую разработчики генераторов отчётов создают собственные форматы для хранения шаблонов. Например, FastReport использует формат .frx для хранения шаблонов и .fpx для хранения подготовленных к экспорту отчётов – а в Crystal Reports используются файлы формата .rpt.

Из этой статьи вы узнаете, как импортировать шаблон отчёта из формата RPT, созданного в Crystal Reports, в формат FRX, который используется в FastReport.

Для импорта шаблонов вам нужно иметь установленным настольный дизайнер отчётов. Импорт происходит при открытии им корректного RPT-файла. Добавить в дизайнер эту возможность можно, если скомпилировать специальное дополнение (плагин). Рассмотрим весь процесс от начала и до конца.

Во-первых, загрузите проект плагина. Вы можете найти его по ссылке, в разделе Дополнения по ссылке

Необходимая ссылка подписана “Конвертер из Crystal Reports (*.rpt) в формат FastReport .NET (*.frx)”. При нажатии на неё скачается архив, который нужно распаковать в удобное для вас место. Затем нужно открыть файл FastReport.RPTImportPlugin.sln с помощью Visual Studio.

Загрузите пакет, необходимый для работы плагина. Он называется “Crystal Reports, version for Visual Studio”, и скачать его можно по следующей ссылке (необходима регистрация на сайте sap.com).

По ссылке будет доступно несколько вариантов скачивания. Скачайте и установите следующий пакет, который есть в 32-битной и 64-битной версиях:

  • SAP Crystal Reports for Visual Studio (SP30) runtime engine for .NET framework MSI.

В проекте FastReport.RPTImportPlugin, который вы скачали, будут настроены следующие ссылки:

Список ссылок, настроенных в проекте по умолчанию

Удалите все ссылки, упоминающие FastReport и CrystalDecisions, и затем добавьте ссылки на актуальные файлы:

1) CrystalDecisions.CrystalReports.Engine.dll и CrystalDecisions.Shared.dll. После установки пакета, который вы скачали, эти DLL-файлы будут расположены по следующему пути:

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\CrystalDecisions.Shared

2) FastReport.dll, FastReport.Compat.dll и FastReport.DataVisualization.dll. Эти DLL расположены в корневой папке установленного FastReport .NET. Если вы не меняли путь установки по умолчанию, то вы найдёте их здесь:

C:\Program Files (x86)\FastReports\FastReport.Net

Убедитесь, что вы используете корректные DLL! Если у вас установлено несколько версий FastReport .NET, вы можете ошибочно выбрать DLL неправильной версии, и дизайнер не распознает плагин или же не запустится.

После этих действий ваш список ссылок будет выглядеть таким образом:

Верный список ссылок

Скомпилируйте проект. После, перейдите в папку FastReport.RPTImportPlugin\bin\Debug и найдите файл FastReport.RPTImportPlugin.dll.

Откройте дизайнер отчётов, и в меню “Настройки…” выберите вкладку “Плагины”. Нажмите на кнопку “Добавить”, и выберите файл FastReport.RPTImportPlugin.dll. После этого вы увидите его в списке установленных плагинов:

Меню “Настройки - Плагины” дизайнера, добавлен плагин RPTImportPlugin

После добавления плагина перезапустите дизайнер, и выберите пункт “Открыть…”. После этого откроется меню выбора файлов, где в селекторе формата файлов должен появиться новый пункт:

Меню открытия файла, селектор форматов

Внимание! Если при компиляции вы выбрали DLL, которые не совпадают с DLL, используемыми дизайнером, то:

  • Дизайнер может не запуститься при повторном запуске.
  • Пункт “Файл Crystal Reports” не будет добавлен в меню экспорта.

В этих случаях повторно откройте проект FastReport.RPTImportPlugin, удалите из него FastReport.dll, FastReport.Compat.dll и FastReport.DataVisualization.dll, добавьте верные DLL и перекомпилируйте плагин.

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

Файл Config находится по следующему пути, и содержит ряд настроек FastReport .NET:

…AppData\Local\FastReport

Чтобы удалить соединение с плагином, найдите и удалите строку, начинающуюся с <Plugin Name, и сохраните файл. После этого дизайнер откроется без проблем, но и без плагина.

Полностью эта строка будет выглядеть таким образом:

<Plugin Name="ваш путь к плагину\FastReport.RPTImportPlugin.dll"/>

Заметьте, что при импорте есть некоторые ограничения, вызванные разными техническими причинами. Например, не будут сохранены настроенные соединения с источниками данных, а также некоторые объекты могут отображаться с небольшими неточностями. Если вас не устраивает какой-либо аспект импорта шаблонов, обращайтесь в нашу техническую поддержку. Мы всегда стремимся улучшать наши продукты, и в том числе – улучшаем качество импорта отчётов.

Подытожим, к этому моменту у вас должен быть скомпилированный плагин, который вы добавили в дизайнер FastReport. После этих действий вы сможете открывать RPT-файлы, созданные в Crystal Reports, в дизайнере FastReport .NET и сохранять их как FRX-файлы, т.е. шаблоны отчётов для FastReport .NET.

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.