使用 Java 在 PowerPoint 中创建条形图

概述

创建具有视觉吸引力的演示文稿对于有效沟通至关重要,而图表是清晰呈现数据的强大工具。因此,使用 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 中创建条形图。

步骤如下:

以下代码示例演示了如何使用此条形图生成器 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 OverflowGitHub 进行社区讨论和示例。

获取免费许可证

Aspose.Slides for Java 提供免费的 临时许可证 供您探索其功能。立即试用,了解它如何简化您的演示文稿创建过程。

最后的润色

使用 Aspose.Slides for Java 在 PowerPoint 中使用 Java 创建条形图的过程非常简单。此 Java API 不仅可以节省时间,还可以提高演示文稿的质量。无论您是希望自动化工作流程的开发人员,还是只想在幻灯片中添加动态图表,此解决方案都既高效又有效。

查看 API 文档API 参考资料,开始使用此条形图生成器 API。请关注 aspose.com 以获取最新消息和功能。

欢迎随时联系我们

如果您有任何疑问,请随时在我们的论坛上提问。

常见问题 – 常见问题解答

是否有免费试用版可供尝试 Aspose.Slides for Java?

是的,有一个免费的临时许可证可供试用该库。

有用的链接