概述
創建具有視覺吸引力的簡報對於有效溝通至關重要,而圖表是清晰表示數據的強大工具。因此,使用 Java 在 PowerPoint 中建立長條圖可讓開發人員自動執行此流程,從而節省時間並確保一致性。然而,在這篇文章中,我們將探討如何使用 Aspose.Slides for Java 以程式設計方式在 PowerPoint 簡報中產生長條圖。
條形圖產生器 API 安裝
首先,您需要安裝支援在 PowerPoint 中建立長條圖的庫。因此,本逐步指南將引導您完成整個過程。
因此,您可以在 pom.xml 檔案中包含以下依賴項。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>24.4</version>
<classifier>jdk16</classifier>
</dependency>
另一個選項是下載 JAR 檔案。事實上,Aspose.Slides for Java 提供了全面的安裝指令和功能來建立和操作 PPTX/PPT 檔案。
使用 Java 在 PowerPoint 中建立長條圖 - 程式碼片段
現在,讓我們深入研究使用 Java 以程式設計方式在 PowerPoint 中建立長條圖的程式碼。
步驟如下:
- 實例化表示 PPTX 檔案的 Presentation 類別。
- 透過呼叫 getItem 方法存取第一張投影片。
- 透過呼叫 addChart 方法新增具有預設資料的長條圖。
- 透過呼叫 getChartDataWorkbook 方法取得圖表資料工作表。
- 呼叫 add 方法來新增add新系列。
- 現在透過呼叫 addDataPointForBarSeries 方法填入系列資料。
- 呼叫 setFillType 方法設定係列的填滿顏色。
- save 方法將使用長條圖儲存簡報。
以下程式碼範例示範如何使用此長條圖產生器 API 在 PowerPoint 中建立長條圖:
public class main
{
public static void main(String[] args)
{
// 文檔目錄的路徑。
String dataDir = "/Desktop/";
// 如果目錄尚不存在,則建立該目錄。
boolean IsExists = new File(dataDir).exists();
if (!IsExists)
new File(dataDir).mkdirs();
// 實例化表示 PPTX 檔案的簡報類別。
Presentation pres = new Presentation();
// 透過呼叫 get_Item 方法存取第一張幻燈片。
ISlide sld = pres.getSlides().get_Item(0);
// 透過呼叫 addChart 方法來新增具有預設資料的條形圖。
IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// 使用自訂大小和位置設定圖表標題。
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// 將第一個系列設定為“顯示值”。
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// 設定圖表資料表索引
int defaultWorksheetIndex = 0;
// 透過呼叫 getChartDataWorkbook 方法取得圖表資料工作表。
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// 刪除預設產生的系列和類別
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
int s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();
// 呼叫add方法新增系列。
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.getType());
// 新增類別
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// 取得第一個圖表系列
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// 現在透過呼叫 addDataPointForBarSeries 方法填入系列資料。
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// 呼叫 setFillType 方法設定係列的填滿顏色。
series.getFormat().getFill().setFillType(FillType.Solid);
// 採取第二個圖表系列
series = chart.getChartData().getSeries().get_Item(1);
// 現在正在填充系列數據
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
// 設定係列的填滿顏色
series.getFormat().getFill().setFillType(FillType.Solid);
// 系列.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
// 第一個標籤將顯示類別名稱
IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);
// 顯示第三個標籤的值
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");
// 儲存方法將保存帶有條形圖的簡報。
pres.save(dataDir + "AsposeChart_out.pptx", SaveFormat.Pptx);
}
}
輸出:
有關如何使用此庫的更多信息,您可以查看一些流行的平台,例如 Stack Overflow 和 GitHub 進行社區討論和範例。
取得免費許可證
Aspose.Slides for Java 提供免費的臨時授權 來探索其功能。立即嘗試,看看它如何簡化您的簡報建立過程。
最後的接觸
透過 Aspose.Slides for Java,使用 Java 在 PowerPoint 中建立長條圖是一個簡單的過程。此 Java API 不僅可以節省時間,還可以提高簡報的品質。無論您是希望實現工作流程自動化的開發人員,還是只想將動態圖表新增到投影片中,此解決方案都是高效且有效的。
查看 API 文件 和 API 參考資料以開始使用此條形圖產生器 API。透過 aspose.com 隨時了解最新新聞和功能。
請隨時聯繫我們
如果您有任何疑問,請隨時在我們的論壇上提問。
常見問題 – 常見問題解答
是否有免費試用版來嘗試 Aspose.Slides for Java?
是的,有一個免費的臨時許可證可供試用該庫。