Файлы CSV (файлы с разделителями-запятыми][3] широко используются для обмена данными между приложениями. Если вы хотите, чтобы эти данные были переведены в презентабельную и содержательную информацию, вам необходимо преобразовать их в какой-либо другой формат. В одном из наших постов мы видели [как преобразовывать данные CSV в отчеты с помощью Java][4].Эта статья поможет вам преобразовать данные CSV в отчеты PDF и MS Word DOC/DOCX с помощью C#, используя простой шаблон.

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

  • [API для создания отчетов .NET][5]
  • [Создать отчет в формате PDF из данных CSV][6]
  • [Создать отчет MS Word из данных CSV][7]

.NET API для создания отчетов

[GroupDocs.Assembly][8] предоставляет API отчетов .NET для автоматизации генерации отчетов. В этой статье я использовал этот [GroupDocs.Assembly для .NET][9] для создания отчетов из выбранных данных CSV и шаблона формата TXT. Он также поддерживает несколько источников данных, таких как JSON, XML, а также файлы MS Word, Excel и PowerPoint в виде файлов данных.

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

PM> Install-Package GroupDocs.Assembly

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

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

  • Загрузите источник данных CSV.
  • Определите шаблон в соответствии с данными CSV.
  • Предоставьте источник данных CSV и шаблон для простого метода создания отчета в формате PDF.
Отчет из CSV в PDF на C#

Данные CSV

Чтобы получить отчет в формате PDF, я буду использовать следующие образцы данных CSV для разных людей вместе с их соответствующими данными о возрасте и дате рождения.

Name,Age,Birth  
John Doe,32,4/1/1989 16:00  
Jane Doe,29,1/31/1992 7:00  
John Smith,53,3/8/1968 13:00

Шаблон

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

<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.Average(p => p.Age)\]>>

Действия по созданию отчета в формате PDF из CSV в C#

Следующие шаги помогут преобразовать данные CSV в отчет в формате PDF в соответствии с определенным шаблоном с помощью C# с API отчетов .NET.

  • Определите путь к файлу данных CSV, файлу шаблона и выходному файлу PDF.
  • Создайте экземпляр [CsvDataSoure][12] с файлом данных CSV и параметрами загрузки.
  • Создайте [DataSourceInfo][13] с указанным источником данных.
  • Используя [DocumentAssembler][14], вызовите метод [AssembleDocument][15] с определенным файлом шаблона, выходным файлом и DataSourceInfo, чтобы получить отчет в формате PDF в качестве вывода.

В следующем коде показано, как преобразовать данные CSV в отчет PDF на C#.

// Создание отчета в формате PDF из данных CSV с использованием шаблона TXT на C# с API GroupDocs.Assembly
// Определите источник данных, шаблон и файлы выходных отчетов.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.pdf";

// Загрузить источник данных CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));

// Создать отчет в формате PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));

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

Если вы хотите вручную отредактировать автоматически сгенерированный отчет, вы также можете получить результат в виде документа MS Word. Процесс будет очень похож на описанное выше создание отчета в формате PDF. Следующие шаги помогут создать отчет DOC/DOCX из данных CSV:

  • Загрузите данные CSV из файла.
  • Определение шаблона в формате TXT или DOCX.
  • Установите формат документа выходного отчета как DOC/DOCX.
  • Вызовите метод [AssembleDocument][16] для создания отчета MS Word DOCX из данных CSV.

В следующем коде показано, как преобразовать данные CSV в отчет DOCX с помощью C#.

// Создание отчета Word DOCX из данных CSV с использованием шаблона TXT на C# с API GroupDocs.Assembly
// Определите источник данных, шаблон и файлы выходных отчетов.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.docx";

// Загрузить источник данных CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));

// Создать отчет в формате DOCX
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));

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

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

Вывод

В заключение вы научились преобразовывать данные CSV в отчеты PDF и MS Word с помощью C#. Теперь вы должны быть уверены в создании собственного приложения для создания отчетов .NET путем преобразования данных CSV в формат PDF. Точно так же вы также можете создавать отчеты, используя другие источники данных, такие как JSON и XML.

Чтобы узнать больше об API, вы можете посетить [документацию][18] и репозиторий [GitHub][19]. В случае возникновения дополнительных вопросов и неясностей обращайтесь в бесплатную службу поддержки на [форуме][20].

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

  • [Создание отчетов из данных JSON с помощью C#][21]
  • [Создание отчетов из данных CSV с помощью Java][22]

[1]: https://docs.fileformat.com/spreadsheet/csv/) [2]: https://blog.groupdocs.com/ru/2021/07/07/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/ru/2021/07/07/generate-reports-from-csv-data-in-java/ [5]: #report-generator-dotnet-api [6]: #csv-to-pdf-report-csharp [7]: #csv-to-docx-report-java [8]: https://products.groupdocs.com/assembly/java [9]: https://products.groupdocs.com/assembly/net/ [10]: https://downloads.groupdocs.com/assembly/net [11]: https://www.nuget.org/packages/groupdocs.assembly [12]: https://apireference.groupdocs.com/net/assembly/groupdocs.assembly.data/csvdatasource [13]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/datasourceinfo [14]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler [15]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [16]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [17]: https://purchase.groupdocs.com/temporary-license [18]: https://docs.groupdocs.com/assembly/net/ [19]: https://github.com/groupdocs-assembly [20]: https://forum.groupdocs.com/c/assembly [21]: https://blog.groupdocs.com/ru/2021/03/20/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/ru/2021/07/07/generate-reports-from-csv-data-in-java/