
Вы можете представлять данные 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, выполнив простые шаги, указанные ниже:
- Получить источник данных Excel
- Определите шаблон в соответствии с данными Excel
- Преобразование данных Excel в отчет Word на Java
Источник данных 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, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.