Файлы 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 for .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, я буду использовать следующие образцы данных 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/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/ru/assembly/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/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/ru/assembly/generate-reports-from-csv-data-in-java/