Создание отчетов из данных Excel в Java

Вы можете представлять данные Microsoft Excel в виде настраиваемых отчетов своим пользователям, таким как клиенты, заинтересованные лица и т. д. Как разработчик Java, вы можете создавать такие отчеты программно, используя электронные таблицы Excel в качестве таблицы данных. В этой статье вы узнаете, как создавать отчеты из данных Excel с помощью Java.

В этой статье обсуждаются/рассматриваются следующие темы:

Java API для создания отчетов

Для создания отчетов из данных Excel я буду использовать API GroupDocs.Assembly for Java. Он позволяет создавать мощные приложения для автоматизации документов и создания отчетов. Он извлекает данные из источника данных в соответствии с определенным шаблоном документа, собирает их и создает отчеты в указанном формате вывода. API поддерживает получение данных из различных источников данных, таких как XML, Excel, JSON и CSV. Вы можете легко создавать отчеты во всех широко используемых форматах файлов, таких как PDF, HTML и Microsoft Word.

Вы можете загрузить JAR API или просто добавить следующую конфигурацию 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.7</version> 
</dependency>

Создание отчетов из данных Excel с использованием Java

Вы можете легко создавать отчеты в Word из данных Excel, выполнив простые шаги, указанные ниже:

  1. Получить источник данных Excel
  2. Определите шаблон в соответствии с данными Excel
  3. Преобразование данных Excel в отчет Word на Java

Источник данных Excel

Вы можете использовать табличные данные в качестве источника данных, представленного в электронной таблице Excel, для создания отчетов. Я буду использовать следующий пример данных Excel для создания отчета. Это данные контрактов клиентов с их соответствующими менеджерами и согласованная цена контракта.

Источник данных Excel

Источник данных Excel

Шаблон

Для создания шаблона можно использовать синтаксис шаблона на основе Linq. Шаблон состоит из общего содержимого документа и тегов, описывающих структуру шаблона и привязки данных. Вы можете определить следующий шаблон в файле DOCX или XLSX. Этот шаблон позволяет повторять данные контрактов и их соответствующих менеджеров с ценой контракта. Каждая группа в шаблоне имеет уникальный ключ, определяемый селектором ввода, и содержит элементы исходного перечисления, связанные с этим ключом. Вы можете получить доступ к ключу экземпляра группы, используя свойство Key. Создав шаблон, вы можете перейти к коду для создания отчета. Подробнее о синтаксисе шаблона можно прочитать в документации.

Шаблон отчета

Шаблон отчета

Преобразование данных Excel в отчет Word в Java

Вы можете автоматизировать преобразование данных Excel в отчет DOCX на основе шаблона, выполнив шаги, указанные ниже:

  • Определите пути к файлу данных Excel, файлу шаблона и выходному файлу отчета DOCX.
  • Создайте экземпляр класса DocumentTableOptions.
  • Установите для setFirstRowContainsColumnNames значение true
  • Создайте DocumentTable с определенным файлом данных Excel и DocumentTableOptions.
  • Создайте экземпляр класса DocumentAssembler.
  • Вызовите метод assembleDocument() с предоставленными данными Excel и определенным шаблоном.

В следующем примере кода показано, как создать отчет из источника данных Excel в соответствии с определенным шаблоном с помощью Java.

String srcDocument = "C:\\Files\\template.docx";
String docReport = "C:\\Files\\Output.docx";
String dataFilePath = "C:\\Files\\Contracts_Data.xlsx";

// Установите извлечение имен столбцов из первой строки.
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);

// Создать таблицу документов
DocumentTable table = new DocumentTable(dataFilePath, 0, options);

// Создать ассемблер документов
DocumentAssembler assembler = new DocumentAssembler();

// Соберите данные и сгенерируйте отчет
assembler.assembleDocument(srcDocument,docReport, 
  new DataSourceInfo(new DataStorage(), null),
  new DataSourceInfo(table,"ds"));
Сгенерированный отчет

Сгенерированный отчет

Класс DocumentTableOptions предоставляет набор параметров для управления извлечением данных из таблицы документа. Я установил для свойства FirstRowContainsColumnNames значение true, чтобы заголовки столбцов не становились частью данных отчета.

Класс DocumentTable обеспечивает доступ к данным одной таблицы (или электронной таблицы), расположенной во внешнем документе, для использования при сборке документа.

Класс DocumentAssembler предоставляет различные методы для создания отчетов с использованием определенного шаблона документа с данными. Метод assembleDocument() этого класса принимает три входных параметра: определенный шаблон в качестве исходного документа, путь к выходному файлу и источник данных. Он заполняет данные из источника данных на основе предоставленного документа шаблона и сохраняет полученный документ по целевому пути. Полученный документ можно сохранить в различные поддерживаемые форматы файлов, такие как Word, Excel или HTML.

Получить бесплатную лицензию

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как создавать отчеты из данных Excel с помощью Java. Вы также узнали, как создать шаблон отчета для создания отчетов. Вы можете узнать больше о GroupDocs.Assembly for Java API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

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