XML — рекомендованный консорциумом W3C самоописательный язык, предназначенный для хранения и передачи данных. Разработчик может изменить формат XML на любой другой более удобный для человека формат, такой как документ PDF или MS Word, в приложении .NET. В этой статье мы обсудим, как преобразовывать данные XML в отчеты PDF и MS Word, используя C# с помощью простых шаблонов.

Отчет XML в PDF на C#

Ниже обсуждаются следующие темы:

Создание отчетов .NET API — XML в PDF и WORD

GroupDocs.Assembly for .NET — это API для автоматизации создания отчетов из данных XML с использованием шаблона DOCX или TXT. Кроме того, он поддерживает JSON, CSV и другие источники данных для преобразования данных в отчеты различных форматов файлов.

Вы можете загрузить DLL или MSI установщик из раздела загрузок или установить API в своем приложении .NET через NuGet.

PM> Install-Package GroupDocs.Assembly

Создание отчета в формате PDF из данных XML в C#

3 простых шага приведут вас к преобразованию данных XML в отформатированный отчет в формате PDF.

  1. Загрузите источник данных XML.
  2. Определите шаблон в соответствии с загруженными данными XML.
  3. Наконец, укажите источник данных XML и шаблон для метода создания отчета.

XML-данные

Для преобразования в отчет в формате PDF используется следующий пример данных XML. Он содержит данные менеджеров и их соответствующих клиентов с некоторыми дополнительными подробностями.

<Managers>
	<Manager>
		<Name>John Smith</Name>
		<Contract>
			<Client>
				<Name>A Company</Name>
			</Client>
			<Price>1200000</Price>
		</Contract>
		<Contract>
		...
		</Contract>
		...
	</Manager>
	<Manager>
		<Name>Tony Anderson</Name>
		...
	</Manager>
	...
</Managers>

Шаблон

Определите шаблон в формате TXT или DOCX в соответствии с исходными данными XML. Я использую приведенный ниже шаблон, созданный в соответствии с вышеупомянутыми XML-данными менеджеров. Это заставит генератор отчетов перебирать менеджеров и их соответствующих клиентов. После завершения шаблона вы почти закончили. Вы можете использовать приведенный ниже код для создания отчета.

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

Шаги C# для создания отчета PDF из XML

Следующие шаги позволяют автоматизировать создание отчетов в формате PDF из данных XML в соответствии с заданным вами шаблоном.

  • Определите файл данных XML, файл текстового шаблона и файлы выходных отчетов в формате PDF.
  • Создайте экземпляр XMLDataSoure с файлом данных XML.
  • Создайте DataSourceInfo с определенным источником данных XML.
  • Вызовите метод AssembleDocument для создания отчета в формате PDF.

Следующий код реализует описанные выше шаги и создает PDF-файл из источника данных XML с помощью C#.

// Создание отчета в формате PDF из данных XML с использованием шаблона TXT в CSharp
// Определите источник данных, шаблон и файлы выходных отчетов.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Загрузить источник данных XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Соберите документ для создания PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Создание отчета MS Word из данных XML в С#

Точно так же вы можете создать отчет в формате MS Word DOC/DOCX, используя те же XML-данные. Код не будет отличаться от того, что мы обсуждали выше, за исключением того, что вы должны изменить имя выходного файла.

  • Загрузите файл данных XML.
  • Определение шаблона в формате TXT или DOCX.
  • Установите формат документа выходного отчета как DOCX.
  • Укажите файл данных XML, шаблон и путь к выходному файлу для DocumentAssembler для преобразования XML в DOCX.

Следующий код преобразует XML и создает файл DOCX с использованием определенного шаблона с помощью C#.

// Создание отчета MS Word из данных XML с использованием текстового шаблона в CSharp
// Определите источник данных, шаблон и файлы выходных отчетов.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Загрузить источник данных XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Соберите документ для создания отчета Word
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.

Вывод

Подводя итог, вы научились преобразовывать данные XML в формат PDF в виде отчета, используя C# с приложением .NET. Дополнительно мы обсудили генерацию отчета в формате DOC/DOCX из того же XML с использованием шаблона. После прочтения этой серии сообщений о создании отчетов; Создавайте отчеты в формате PDF и MS Word из JSON, CSV, XML, вы можете разработать собственное приложение для создания отчетов .NET.

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

Смотрите также