圖表和圖形用於總結和直觀地表示數據。它們提供了可以進一步用於做出決策的洞察力。圖表被認為是 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 文件或創建新的 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 文件或創建新的 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 的更多信息,請訪問 文檔。如果您有任何疑問,請通過我們的 論壇 聯繫我們。