Файли 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, я буду використовувати наведені нижче зразки даних у форматі 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/