图表和图形用于总结和直观地表示数据。他们提供的洞察力可以进一步用于做出决策。图表被认为是 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 文件中创建图表的步骤。
- 创建 Workbook 类的实例以加载现有的或创建新的 Excel 文件。
- 将所需工作表的引用获取到 Worksheet 对象中。
- 将数据添加到工作表(可选)。
- 通过使用 Worksheet.getCharts().add() 方法指定其类型来创建新图表。
- 将添加的图表的引用获取到 Chart 对象中。
- 使用 Chart.setChartDataRange(String, boolean) 方法为图表设置数据。
- 使用 Workbook.save(String, SaveFormat) 方法保存 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 工作簿中创建一些其他类型的图表。
使用 Java 在 Excel 中创建折线图
以下是使用 Java 在 Excel 中创建折线图的步骤。
- 创建 Workbook 类的实例以加载现有的 Excel 文件或创建新的 Excel 文件。
- 将所需工作表的引用获取到 Worksheet 对象中。
- 将数据添加到工作表(可选)。
- 通过使用 Worksheet.getCharts().add() 方法指定类型 ChartType.LINE 创建一个新的折线图。
- 将添加的图表的引用获取到 Chart 对象中。
- 使用 Chart.setChartDataRange(String, boolean) 方法为图表设置数据。
- 使用 Workbook.save(String, SaveFormat) 方法保存 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);
使用 Java 在 Excel 中创建金字塔图
以下是使用 Java 在 Excel 中创建金字塔图的步骤。
- 创建 Workbook 类的实例以加载现有的或创建新的 Excel 文件。
- 将所需工作表的引用获取到 Worksheet 对象中。
- 将数据添加到工作表(可选)。
- 通过使用 Worksheet.getCharts().add() 方法指定类型 ChartType.PYRAMID 创建一个新的金字塔图。
- 将添加的图表的引用获取到 Chart 对象中。
- 使用 Chart.getNSeries().add(String, boolean) 方法将 NSeries(图表数据源)添加到图表。
- 使用 Workbook.save(String, SaveFormat) 方法保存 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);
获取免费 API 许可证
您可以通过获得临时许可证 来使用 Aspose.Cells for Java,而不受评估限制。
结论
在本文中,您了解了如何使用 Java 在 Excel 工作表中创建图表。特别是,您学习了如何以编程方式在 Excel 中创建柱形图、折线图和金字塔图。您可以使用相同的方法在 Excel 工作表中创建其他类型的图表。要了解有关 API 的更多信息,请访问 文档。如果您有任何疑问,请通过我们的 论坛 联系我们。