当前位置: 首页 > news >正文

使用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 不仅节省时间,还能提高演示文稿的质量。无论您是希望自动化工作流程的开发人员,还是只想在幻灯片中添加动态图表,此解决方案都既高效又有效。


http://www.mrgr.cn/news/55912.html

相关文章:

  • Windows下部署autMan
  • mysql用户密码基础
  • uniapp picker实现省市二级级联和省市区三级级联
  • 如何计算表格中重复项有多少?
  • 类型限定符(Type qualifier)
  • 程序崩溃的形式:为什么C++是coredump,而Golang是panic
  • 【C++】—— 多态(下)
  • ✨ 灵动AI视频:重塑视频创作,引领智能编辑新时代!✨
  • 智能三相电表主要应用于哪里
  • 【Unity】Unity中获取网络时间进行每日和每月刷新
  • JAVA二手交易发布闲置好物回收系统小程序源码
  • docker 下载netcore 镜像
  • 案例分享:制造业网管系统建设最佳实践
  • 代购系统:商品详情的“时空穿越者”
  • Python中怎样用AKShare获取基金最新数据?
  • 最大化生成式 AI 策略投资回报率的 3 种方法
  • 邦芒贴士:职场新人需远离的7种坏习惯
  • 09 P3654 First Step (ファーストステップ)
  • cinder组件
  • 星河飞雪学习笔记》》信息收集
  • nginx和apache的区别
  • STM32-Cube-IIC通讯
  • vue3中el-select v-model=““给v-model默认值一些注意事项;
  • vscode 配置构建、调试QT项目
  • 超详细的总结!最新大模型算法岗面试题(含答案)来了!
  • YOLOv11快速上手:如何在本地使用TorchServe部署目标检测模型