spire.presentation支持将一个powerpoint文件里的图表复制到另一个powerpoint文件里。本文将介绍如何复制图表到另一个文件,然后删除源文件的图表。
2个原始文件截图:
完整代码:
c#
//创建ppt对象
presentation ppt = new presentation();
//加载包含图表的源文件
ppt.loadfromfile(@"copychartsample.pptx");
//创建ppt对象
presentation newppt = new presentation();
//加载目标文件
newppt.loadfromfile(@"dessample.pptx");
//获取第一张幻灯片
islide slide = newppt.slides[0];
//判断第一张幻灯片里第一个形状是否为图表
if (ppt.slides[0].shapes[0] is ichart)
{
//将形状转换为图表
ichart chart = ppt.slides[0].shapes[0] as ichart;
//使用createchart方法复制图表到目标文件的指定位置
slide.shapes.createchart(chart, new rectanglef(100, 100, 500, 300), -1);
//删除源文件里的图表
ppt.slides[0].shapes.removeat(0);
}
//保存目标文件为新文件
newppt.savetofile("copychart.pptx", fileformat.pptx2010);
//保存源文件为一个新文件
ppt.savetofile("deletechart.pptx", fileformat.pptx2010);
vb.net
'创建ppt对象
dim ppt as new presentation()
'加载包含图表的源文件
ppt.loadfromfile("copychartsample.pptx")
'创建ppt对象
dim newppt as new presentation()
'加载目标文件
newppt.loadfromfile("dessample.pptx")
'获取第一张幻灯片
dim slide as islide = newppt.slides(0)
'判断第一张幻灯片里第一个形状是否为图表
if typeof ppt.slides(0).shapes(0) is ichart then
'将形状转换为图表
dim chart as ichart = trycast(ppt.slides(0).shapes(0), ichart)
'使用createchart方法复制图表到目标文件的指定位置
slide.shapes.createchart(chart, new rectanglef(100, 100, 500, 300), -1)
'删除源文件里的图表
ppt.slides(0).shapes.removeat(0)
end if
'保存目标文件为新文件
newppt.savetofile("copychart.pptx", fileformat.pptx2010)
'保存源文件为一个新文件
ppt.savetofile("deletechart.pptx", fileformat.pptx2010)
结果文件截图: