Значения, разделенные запятыми (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 ваших на основе maven приложений Java.

<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 с API GroupDocs.Assembly
// Определите источник данных, шаблон и файлы выходных отчетов.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

// Лаод Источник данных 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 с API GroupDocs.Assembly
// Определите источник данных, шаблон и файлы выходных отчетов.
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. В случае возникновения дополнительных вопросов и неясностей обращайтесь в бесплатную службу поддержки на форуме.

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