Значения, разделенные запятыми (CSV) — это формат файла для хранения данных в виде обычного текста, в котором значения разделяются запятыми. CSV широко используется для обмена данными между приложениями. Как разработчику, нам часто нужно преобразовать большие данные CSV в презентабельный формат. Эта статья поможет вам конвертировать данные CSV в отчеты PDF и MS Word на Java с помощью простого шаблона.
Ниже рассматриваются следующие темы:
- Java API для создания отчетов
- Создать отчет в формате PDF из данных CSV
- Создать отчет MS Word из данных CSV
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 я буду использовать следующие образцы данных 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. В случае возникновения дополнительных вопросов и неясностей обращайтесь в бесплатную службу поддержки на форуме.