在 Java 中创建 Excel 图表

图表和图形用于总结和直观地表示数据。他们提供的洞察力可以进一步用于做出决策。图表被认为是 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.6</version>
</dependency>

支持的 Excel 图表类型

Aspose.Cells for Java 提供了一套完整的标准图表类型。该列表包括但不限于:

  • 柱子
  • 酒吧
  • 线
  • 馅饼
  • 分散
  • 区域
  • 甜甜圈
  • 雷达
  • 表面 3D
  • 气泡
  • 库存
  • 圆柱
  • 锥体
  • 金字塔

有关支持的 Excel 图表的更多详细信息,请访问 本文

使用 Java 在 Excel 中创建图表

以下是使用 Java 在 Excel 文件中创建图表的步骤。

以下代码示例展示了如何使用 Java 在 Excel 中创建图表。

// 创建新工作簿
Workbook workbook = new Workbook();

// 获取第一个工作表的引用
Worksheet worksheet = workbook.getWorksheets().get(0);

// 向单元格添加样本值
worksheet.getCells().get("A2").putValue("Category1");
worksheet.getCells().get("A3").putValue("Category2");
worksheet.getCells().get("A4").putValue("Category3");

worksheet.getCells().get("B1").putValue("Column1");
worksheet.getCells().get("B2").putValue(4);
worksheet.getCells().get("B3").putValue(20);
worksheet.getCells().get("B4").putValue(50);
worksheet.getCells().get("C1").putValue("Column2");
worksheet.getCells().get("C2").putValue(50);
worksheet.getCells().get("C3").putValue(100);
worksheet.getCells().get("C4").putValue(150);

// 将图表添加到工作表
int chartIndex = worksheet.getCharts().add(ChartType.COLUMN, 5, 0, 15, 5);

// 访问新添加图表的实例
Chart chart = worksheet.getCharts().get(chartIndex);

// 将图表数据源设置为范围“A1:C4”
chart.setChartDataRange("A1:C4", true);
workbook.save("Column-Chart.xlsx", SaveFormat.XLSX);
在 Excel 中创建柱形图

为了演示,现在让我们在 Excel 工作簿中创建一些其他类型的图表。

使用 Java 在 Excel 中创建折线图

以下是使用 Java 在 Excel 中创建折线图的步骤。

以下代码示例展示了如何使用 Java 在 Excel 中创建折线图。

// 实例化工作簿对象
Workbook workbook = new Workbook();

// 获取第一个工作表的引用
Worksheet worksheet = workbook.getWorksheets().get(0);

// 向单元格添加样本值
worksheet.getCells().get("A2").putValue("Category1");
worksheet.getCells().get("A3").putValue("Category2");
worksheet.getCells().get("A4").putValue("Category3");

worksheet.getCells().get("B1").putValue("Column1");
worksheet.getCells().get("B2").putValue(4);
worksheet.getCells().get("B3").putValue(20);
worksheet.getCells().get("B4").putValue(50);
worksheet.getCells().get("C1").putValue("Column2");
worksheet.getCells().get("C2").putValue(50);
worksheet.getCells().get("C3").putValue(100);
worksheet.getCells().get("C4").putValue(150);

// 将图表添加到工作表
int chartIndex = worksheet.getCharts().add(ChartType.LINE, 5, 0, 15, 5);

// 访问新添加图表的实例
Chart chart = worksheet.getCharts().get(chartIndex);

// 将图表数据源设置为范围“A1:C4”
chart.setChartDataRange("A1:C4", true);

// 保存 Excel 文件
workbook.save("Line-Chart.xls", SaveFormat.XLSX);
在 Excel 中创建折线图

使用 Java 在 Excel 中创建金字塔图

以下是使用 Java 在 Excel 中创建金字塔图的步骤。

以下代码示例展示了如何使用 Java 在 Excel 中创建金字塔图。

// 实例化工作簿对象
Workbook workbook = new Workbook();

// 获取第一个工作表的引用
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);

// 向单元格添加一些样本值
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(180);
cell = cells.get("C1");
cell.setValue(320);
cell = cells.get("C2");
cell.setValue(110);
cell = cells.get("C3");
cell.setValue(180);
cell = cells.get("D1");
cell.setValue(40);
cell = cells.get("D2");
cell.setValue(120);
cell = cells.get("D3");
cell.setValue(250);

// 访问图表集合
ChartCollection charts = sheet.getCharts();

// 将图表添加到工作表
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);

// 将 NSeries(图表数据源)添加到图表中,范围从“A1”
// 单元格到“B3”
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);

// 保存 Excel 文件
workbook.save("Pyramid-Chart.xlsx", SaveFormat.XLSX);
在 Excel 中创建金字塔图

获取免费 API 许可证

您可以通过获得临时许可证 来使用 Aspose.Cells for Java,而不受评估限制。

结论

在本文中,您了解了如何使用 Java 在 Excel 工作表中创建图表。特别是,您学习了如何以编程方式在 Excel 中创建柱形图、折线图和金字塔图。您可以使用相同的方法在 Excel 工作表中创建其他类型的图表。要了解有关 API 的更多信息,请访问 文档。如果您有任何疑问,请通过我们的 论坛 联系我们。

也可以看看