PPT处理控件Aspose.Slides功能演示:使用 Java 在 PPT 演示文稿中创建图表

翻译|使用教程|编辑:李显亮|2021-07-30 10:14:23.130|阅读 26 次

概述:图表用于总结和直观地表示演示文稿中的数据。为了可视化数据,MS PowerPoint 提供了多种图表类型。在本文中,将学习如何使用 Java 在 PowerPoint 演示文稿中创建图表。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

图表用于总结和直观地表示演示文稿中的数据。为了可视化数据,MS PowerPoint 提供了多种图表类型。其中,最常用的图表类型包括饼图、折线图、条形图、直方图、股票图等。在本文中,将学习如何使用 Java 在 PowerPoint 演示文稿中创建图表。

  • 使用 Java 在 PowerPoint 中创建柱状图
  • 使用 Java 在 PowerPoint 中创建散点图

为了将 PowerPoint PPT 文件转换为 PPTX,我们将使用Aspose.Slides for Java,它允许从 Java 应用程序中创建和操作 PowerPoint 演示文稿。此外,它允许您无缝地创建图表并将其添加到演示文稿中。

>>你可以点击这里下载Aspose.Slides 最新版测试体验。


使用Java在PowerPoint PPT中创建柱状图

以下是使用 Java 在 PowerPoint 演示文稿中创建柱状图的步骤。

  • 首先,创建Presentation 类的实例 (在加载现有演示文稿的情况下在构造函数中指定文件的路径)。
  • 通过指定它的索引来获取幻灯片的引用。
  • 添加带有默认数据以及ChartType .ClusteredColumn类型的图表
  • 清除默认系列和类别。
  • 访问IChartDataWorkbook对象中的图表数据工作簿 
  • 将图表的新系列和类别添加到工作簿。
  • 将新图表数据添加到图表系列。
  • 最后,使用Presentation.save(String, SaveFormat)方法保存演示文稿

为了演示,以下代码示例展示了如何使用 Java 在 PowerPoint 演示文稿中创建柱形图。

// Create a new presentation
Presentation pres = new Presentation();
try {
    
    // Add a new column chart and clear the default categories and series
    IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
    ch.getChartData().getSeries().clear();
    ch.getChartData().getCategories().clear();
    
    // Access the chart data
    IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
    fact.clear(0);
    int defaultWorksheetIndex = 0;

    // Add categories
    IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
    category.getGroupingLevels().setGroupingItem(1, "Group1");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
    category.getGroupingLevels().setGroupingItem(1, "Group2");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
    category.getGroupingLevels().setGroupingItem(1, "Group3");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
    category.getGroupingLevels().setGroupingItem(1, "Group4");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));

    // Add Series
    IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Series 1"),
            ChartType.ClusteredColumn);

    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D2", 10));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D3", 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D4", 30));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D5", 40));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D6", 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D7", 60));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D8", 70));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D9", 80));
    
    // Save presentation with chart
    pres.save("column-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}
PPT处理控件Aspose.Slides功能演示:使用 Java 在 PPT 演示文稿中创建图表

使用Java在PowerPoint PPT中创建散点图

以下是使用 Java 在 PowerPoint 演示文稿中创建散点图的步骤。

  • 使用Presentation 类创建一个新的演示文稿或加载一个现有的 演示文稿
  • 获取ISlide对象中幻灯片的引用
  • 添加带有默认数据ScatterWithSmoothLines图表类型,并在IChart对象中获取其引用
  • 将图表数据工作簿访问到IChartDataWorkbook对象并清除默认系列。
  • 向图表数据添加新系列。
  • 将每个系列访问到IChartSeries对象并将数据点添加到系列。
  • 使用IChartSeries.getMarker()访问系列的标记并设置其属性。
  • 使用Presentation.save(String, SaveFormat)方法保存演示文稿

以下代码示例展示了如何使用 Java 在 PowerPoint 演示文稿中创建散点图。

// Instantiate Presentation class that represents PPTX file
Presentation pres = new Presentation();
try {
    // Access first slide
    ISlide slide = pres.getSlides().get_Item(0);

    // Create the default chart
    IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
    
    // Get the default chart data worksheet index
    int defaultWorksheetIndex = 0;
    
    // Get the chart data worksheet
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Delete demo series
    chart.getChartData().getSeries().clear();
    
    // Add new series
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.getType());
    
    // Take first chart series
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Add new point (1:3) there.
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
    
    // Add new point (2:10)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
    
    // Edit the type of series
    series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
    
    // Change the chart series marker
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Star);
    
    // Take second chart series
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Add new point (5:2) there.
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
    
    // Add new point (3:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
    
    // Add new point (2:2)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
    
    // Add new point (5:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
    
    // Change the chart series marker
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Circle);
    
    // Save the presentation
    pres.save("scatter-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}
PPT处理控件Aspose.Slides功能演示:使用 Java 在 PPT 演示文稿中创建图表

如果你想试用Aspose的全部完整功能,可 联系在线客服获取30天临时授权体验。


还想要更多吗?您可以点击阅读【Aspose最新资源在线文库】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
Aspose.Slides

Aspose.Slides是第一个能在用户的应用程序中对PowerPoint文档进行管理的组件。

title
在线咨询
联系我们
TOP
在线客服系统
live chat