使用Aspose slide for Java编辑PPT,代码如下:
Presentation presentation = new Presentation("D:\\demo2.pptx");
ISlideCollection slides = presentation.getSlides();
for (ISlide slide : slides) {
for (IShape shape : slide.getShapes()) {
if (shape instanceof IChart) {
IChart chart = (IChart) shape;
if (chart.getType() == ChartType.SeriesOfMixedTypes) {
IChartData chartData = chart.getChartData();
// 获取图表的数据
IChartSeriesCollection series = chartData.getSeries();
for (IChartSeries serie : series) {
//数据集
IChartDataPointCollection dataPoints = serie.getDataPoints();
dataPoints.setDataSourceTypeForValues(DataSourceType.DoubleLiterals);
for (IChartDataPoint dataPoint : dataPoints) {
if (dataPoint.getValue() != null) {
IDoubleChartValue value = dataPoint.getValue();
value.setData(1.14);
}
}
}
}
}
}
}
期望用代码处理后的文件,在用MS PPT工具打开时可以再次编辑文件中柱状图显示的数据,但实际编辑完的pptx文件用MS PPT工具打开能正常显示柱状图,此时在柱状图右键编辑 - 使用excel编辑数据时,调整柱状图对应的数据保存后,柱状图的显示并没有更新,想问下这中情况是因为代码处理的不对,还是有其他问题呢?附件是用这段代码处理后的pptx文件
demo2.pptx.zip (48.3 KB)