Excel 电子表格中的数据透视表用于以交互方式汇总数据。假设您在工作表中有许多发票的数据。在这种情况下,您可以使用数据透视表来汇总按客户或产品分组的发票。在本文中,您将学习如何以编程方式处理 Excel 中的数据透视表。特别是,您将了解如何使用 Java 在 Excel 中创建数据透视表。此外,我们还将根据数据透视表生成图表。
在 Excel 中创建数据透视表的 Java API
为了创建 Excel 数据透视表,我们将使用 Aspose.Cells for Java。它是一个强大的 API,可让您在 Java 应用程序中生成、修改和转换 Excel 文件。您可以 下载 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>
使用 Java 在 Excel 中创建数据透视表
以下是使用 Java 在 Excel 中创建数据透视表的步骤。
- 使用 Workbook 类创建新的或加载现有的 Excel 文件。
- 使用数据填充工作表(可选)。
- 使用 Worksheet.getPivotTables() 方法将数据透视表集合到 PivotTableCollection 对象中。
- 使用 PivotTableCollection.add(string, string, string) 方法添加一个新的数据透视表,并在 PivotTable 对象中获取它的引用。
- 设置总计、格式等选项。
- 使用 PivotTable.addFieldToArea(int, int) 方法将字段添加到区域。
- 使用 Workbook.save(string) 方法保存工作簿。
以下代码示例显示了如何在 Excel 中添加数据透视表。
// 实例化工作簿对象
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 数据
数据透视表
在 Java 中使用 Excel 数据透视表生成图表
以下是在 Java 中使用 Excel 数据透视表生成图表的步骤。
- 使用 Workbook 类创建新的或加载现有的 Excel 文件。
- 填充工作表(可选)。
- 使用 Workbook.getWorksheets().add(SheetType.CHART) 添加图表类型的新工作表,并在 Worksheet 对象中获取其引用。
- 使用 Worksheet.getCharts().add() 方法添加一个新图表,并在 Chart 对象中获取它的引用。
- 使用 Chart.setPivotSource(string) 方法将数据透视表设置为图表的数据源。
- 使用 Workbook.save(string) 方法保存工作簿。
以下代码示例展示了如何使用 Excel 数据透视表生成图表。
// 实例化工作簿对象
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 而没有评估限制。
结论
在本文中,您学习了如何使用 Java 在 Excel 中创建数据透视表。此外,您还了解了如何使用 Excel 中的数据透视表生成图表。您可以使用 文档 探索有关 Java Excel API 的更多信息。如果您有任何问题,请随时通过我们的 论坛 告诉我们。