Значення, розділені комами(CSV) — це формат файлу для зберігання даних у формі звичайного тексту, де значення розділені комами. CSV широко використовується для обміну даними між програмами. Як розробнику, нам часто доводиться перетворювати великі дані CSV у презентабельний формат. Ця стаття допоможе вам конвертувати дані CSV у звіти PDF і MS Word на Java за допомогою простого шаблону.

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

Java API для створення звітів

GroupDocs.Assembly for Java — це API для створення звітів, який я використав у цій статті для створення звітів із вибраних даних CSV і шаблону у форматі TXT. Він також підтримує автоматизацію створення звітів із багатьох джерел даних, таких як JSON, XML, а також із файлів MS Word, Excel і PowerPoint у вигляді файлів даних.

Завантажити або налаштувати

Ви можете завантажити файл JAR із розділу завантажень або просто отримати репозиторій і конфігурації залежностей для pom.xml ваших програм Java на основі Maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-assembly</artifactId>
        <version>21.4</version> 
</dependency>

Створення PDF-звіту з даних CSV у Java

Почнемо з перетворення даних у презентабельний PDF. Наступні кроки допоможуть вам перетворити дані CSV у звіт у форматі PDF.

  • Завантажити джерело даних CSV
  • Визначте шаблон відповідно до даних CSV
  • Надайте джерело даних CSV і шаблон для простого методу створення звіту PDF.
Звіт CSV у PDF на Java

Дані 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)\]>>

Кроки Java для створення PDF-звіту з CSV

У наступних кроках пояснюється автоматичне перетворення даних CSV у звіт PDF відповідно до визначеного шаблону.

  • Визначте шляхи файлу даних CSV, файлу шаблону .txt і файлу вихідного звіту PDF.
  • Створіть екземпляр CsvDataSoure із файлом даних CSV.
  • Створіть DataSourceInfo із визначеним CsvDataSource.
  • Викличте метод assembleDocument класу DocumentAssembler, щоб отримати згенерований звіт PDF.

Наступний код показує, як конвертувати дані CSV у звіт PDF у Java.

// Створіть PDF-звіт із даних CSV за допомогою шаблону TXT у Java за допомогою GroupDocs.Assembly API
// Визначте джерело даних, шаблон і файли вихідних звітів.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

// Джерело даних Laod CSV
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Створити звіт
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Створення звіту MS Word із даних CSV у Java

Це дуже схоже на наведене вище створення звіту PDF, ви можете легко створити звіт MS Word DOC/DOCX із даних CSV:

  • Завантажте дані CSV із файлу.
  • Визначення шаблону у форматі TXT або DOCX.
  • Встановіть вихідний формат документа звіту як DOC/DOCX.
  • Решта коду залишиться незмінною для створення звіту MS Word DOCX із даних CSV.

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

// Створіть звіт Word із даних CSV за допомогою шаблону TXT у Java за допомогою GroupDocs.Assembly API
// Визначте джерело даних, шаблон і файли вихідних звітів.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.docx";

// Завантажити джерело даних CSV
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Створити звіт
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Отримайте безкоштовну ліцензію API

Ви можете отримати безкоштовну тимчасову ліцензію, щоб використовувати API без оціночних обмежень.

Висновок

Підсумовуючи, ви навчилися конвертувати дані CSV у звіти PDF і MS Word на Java. Сподіваюся, тепер вам зручно створювати власну програму на основі Java для створення звітів шляхом перетворення даних CSV у формат PDF. Подібним чином ви можете створювати звіти за допомогою джерел даних, таких як JSON і XML.

Щоб дізнатися більше про API, ви можете відвідати документацію і репозиторій GitHub. У разі подальших запитань і неясностей зверніться до безкоштовної служби підтримки на форумі.

Дивись також