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

Java API для создания сводной таблицы в Excel

Чтобы создать сводную таблицу Excel, мы будем использовать Aspose.Cells for Java. Это мощный API, который позволяет создавать, изменять и преобразовывать файлы Excel из ваших приложений Java. Вы можете либо скачать API, либо установить его, используя следующие конфигурации Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.4</version>
</dependency>

Создайте сводную таблицу в Excel с помощью Java

Ниже приведены шаги по созданию сводной таблицы в Excel с использованием Java.

  • Создайте новый или загрузите существующий файл Excel с помощью класса Workbook.
  • Заполните рабочий лист данными (необязательно).
  • Получить набор сводных таблиц в объект PivotTableCollection с помощью метода Worksheet.getPivotTables().
  • Добавьте новую сводную таблицу с помощью метода PivotTableCollection.add(string, string, string) и получите ссылку на нее в объекте PivotTable.
  • Установите такие параметры, как общий итог, форматирование и т. д.
  • Добавьте поля в область, используя метод PivotTable.addFieldToArea(int, int).
  • Сохраните книгу, используя метод Workbook.save(string).

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

// Создать экземпляр объекта Workbook
Workbook workbook = new Workbook("worksheet.xlsx");

// Доступ к листу
Worksheet sheet2 = workbook.getWorksheets().get(1);

// Получить коллекцию сводных таблиц на листе
PivotTableCollection pivotTables = sheet2.getPivotTables();

// Добавьте сводную таблицу на лист
int index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");

// Доступ к экземпляру недавно добавленной сводной таблицы
PivotTable pivotTable = pivotTables.get(index);

// Показать общие итоги
pivotTable.setRowGrand(true);
pivotTable.setColumnGrand(true);

// Установите автоматический формат отчета сводной таблицы.
pivotTable.setAutoFormat(true);

// Установите тип автоформата сводной таблицы.
pivotTable.setAutoFormatType(PivotTableAutoFormatType.REPORT_6);

// Перетащите первое поле в область строки.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Перетащите третье поле в область строки.
pivotTable.addFieldToArea(PivotFieldType.ROW, 2);

// Перетащите второе поле в область строки.
pivotTable.addFieldToArea(PivotFieldType.ROW, 1);

// Перетащите четвертое поле в область столбца.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 3);

// Перетащите пятое поле в область данных.
pivotTable.addFieldToArea(PivotFieldType.DATA, 5);

// Установите числовой формат первого поля данных
pivotTable.getDataFields().get(0).setNumber(7);

// Сохраните файл Excel
workbook.save("pivotTable.xls");

Данные Excel

Источник данных для сводной таблицы excel

Сводная таблица

создать сводную таблицу в excel на java

Создание диаграммы с использованием сводных таблиц Excel в Java

Ниже приведены шаги для создания диаграммы с использованием сводных таблиц Excel в Java.

  • Создайте новый или загрузите существующий файл Excel с помощью класса Workbook.
  • Заполните рабочий лист (необязательно).
  • Добавьте новый рабочий лист типа диаграммы с помощью Workbook.getWorksheets().add(SheetType.CHART) и получите ссылку на него в объекте Worksheet.
  • Добавьте новую диаграмму с помощью метода Worksheet.getCharts().add() и получите ссылку на нее в объекте Chart.
  • Установите сводную таблицу в качестве источника данных диаграммы с помощью метода Chart.setPivotSource(string).
  • Сохраните книгу, используя метод Workbook.save(string).

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

 // Создать экземпляр объекта Workbook
 Workbook workbook = new Workbook("pivotTable.xls");
 
 // Добавить новый лист
 int sheetIndex = workbook.getWorksheets().add(SheetType.CHART);
 Worksheet sheet3 = workbook.getWorksheets().get(sheetIndex);
 
 // Назовите лист
 sheet3.setName("PivotChart");
 
 // Добавить столбчатую диаграмму
 int chartIndex = sheet3.getCharts().add(ChartType.COLUMN, 0, 5, 28, 16);
 Chart chart = sheet3.getCharts().get(chartIndex);
 
 // Установите источник данных сводной диаграммы
 chart.setPivotSource("PivotTable!PivotTable1");
 chart.setHidePivotFieldButtons(false);
 
 // Сохраните файл Excel
 workbook.save("pivotChart_test.xls");

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

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

Вывод

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

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