使用Aspose.Slides 控件,使用 Java 在 PowerPoint 中创建条形图
创建具有视觉吸引力的演示文稿对于有效沟通至关重要,而图表是清晰呈现数据的强大工具。因此,使用 Java在PowerPoint中创建条形图可让开发人员自动执行此过程,从而节省时间并确保一致性。但是,在这篇博文中,我们将探讨如何使用Aspose.Slides for Java以编程方式在 PowerPoint 演示文稿中生成条形图。
Aspose.Slides 是一款 PowerPoint管理API,用于读取,编写,操作和转换PowerPoint幻灯片的独立API,可将PowerPoint转换为PDF,PDF/A,XPS,TIFF,HTML,ODP和其他PowerPoint格式。Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。(qun:666790229)
条形图生成器 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 文件的演示类。
- 通过调用get_Item方法访问第一张幻灯片。
- 通过调用addChart方法添加具有默认数据的条形图。
- 通过调用getChartDataWorkbook方法获取图表数据工作表。
- 调用 add 方法添加新系列。
- 现在通过调用addDataPointForBarSeries方法填充系列数据。
- 调用setFillType方法来设置系列的填充颜色。
- 保存方法将以条形图的形式保存演示文稿。
以下代码示例演示了如何使用此条形图生成器API在 PowerPoint 中创建条形图:
public class main { public static void main(String[] args) { // The path to the documents directory. String dataDir = "/Desktop/"; // Create directory if it is not already present. boolean IsExists = new File(dataDir).exists(); if (!IsExists) new File(dataDir).mkdirs(); // Instantiate Presentation class that represents PPTX file. Presentation pres = new Presentation(); // Access first slide by calling the get_Item method. ISlide sld = pres.getSlides().get_Item(0); // Add a bar chart with default data by calling the addChart method. IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500); // Set the chart title with the custom size and placement. chart.getChartTitle().addTextFrameForOverriding("Sample Title"); chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True); chart.getChartTitle().setHeight(20); chart.setTitle(true); // Set first series to Show Values. chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true); // Setting the index of chart data sheet int defaultWorksheetIndex = 0; // Get the chart data worksheet by calling the getChartDataWorkbook method. IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook(); // Delete default generated series and categories chart.getChartData().getSeries().clear(); chart.getChartData().getCategories().clear(); int s = chart.getChartData().getSeries().size(); s = chart.getChartData().getCategories().size(); // Call add method to add new series. 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()); // Adding new categories 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")); // Take first chart series IChartSeries series = chart.getChartData().getSeries().get_Item(0); // Now populating series data by calling the addDataPointForBarSeries method. 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)); // Invoke the setFillType method to set the fill color for series. series.getFormat().getFill().setFillType(FillType.Solid); // Take second chart series series = chart.getChartData().getSeries().get_Item(1); // Now populating series data 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)); // Setting fill color for series series.getFormat().getFill().setFillType(FillType.Solid); // series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN); // First label will be show Category name IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel(); lbl.getDataLabelFormat().setShowCategoryName(true); lbl = series.getDataPoints().get_Item(1).getLabel(); lbl.getDataLabelFormat().setShowSeriesName(true); // Show value for third label lbl = series.getDataPoints().get_Item(2).getLabel(); lbl.getDataLabelFormat().setShowValue(true); lbl.getDataLabelFormat().setShowSeriesName(true); lbl.getDataLabelFormat().setSeparator("/"); // The save method will save the presentation with bar chart. pres.save(dataDir + "AsposeChart_out.pptx", SaveFormat.Pptx); } }
输出:
使用 Java 在 PowerPoint 中创建条形图的过程非常简单,只需使用Aspose.Slides for Java即可。此 Java API 不仅节省时间,还能提高演示文稿的质量。无论您是希望自动化工作流程的开发人员,还是只想在幻灯片中添加动态图表,此解决方案都既高效又有效。