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

Нижче описано наступні теми:

  • [Створення звітів .NET API][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 на 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# із .NET Reporting API.

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

У наступному коді показано, як конвертувати дані CSV у звіт PDF на C#.

// Створення PDF-звіту з даних CSV за допомогою шаблону TXT у C# за допомогою GroupDocs.Assembly API
// Визначте джерело даних, шаблон і файли вихідних звітів.
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# за допомогою GroupDocs.Assembly API
// Визначте джерело даних, шаблон і файли вихідних звітів.
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/uk/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/uk/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/uk/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/uk/assembly/generate-reports-from-csv-data-in-java/