从3.7.5版本开始,Spire.Presentation添加了新功能支持设置PowerPoint中图表数据标签的形状以及其引导线的形状等。 本文将对此做详细介绍。
首先准备一个有图表的原文档。
C#
//加载有图表的PowerPoint文档
Presentation ppt = new Presentation();
ppt.LoadFromFile(@"test.pptx");
//获取图表
IChart chart = ppt.Slides[0].Shapes[0] as IChart;
//获取第一个系列的数据标签并设置其为可见
ChartDataLabelCollection dataLabels1 = chart.Series[0].DataLabels;
dataLabels1.LabelValueVisible = true;
//设置这个系列的所有数据标签的形状为"椭圆"
dataLabels1.DataLabelShapeType = DataLabelShapeType.Oval;
//设置这个系列的所有数据标签引导线的前端类型
dataLabels1.LeaderLines.LineBeginType = LineEndType.StealthArrow;
//设置这个系列的所有数据标签引导线的前端大小
dataLabels1.LeaderLines.LineBeginWidth = LineEndWidth.Wide;
dataLabels1.LeaderLines.LineBeginLength = LineEndLength.Long;
//获取第二个系列的数据标签并设置其为可见
ChartDataLabelCollection dataLabels2 = chart.Series[1].DataLabels;
//单独设置第二个系列的第一个数据标签的形状为"椭圆形标注"
ChartDataLabel label = dataLabels2.Add();
label.ID = 0;
label.LabelValueVisible = true;
label.DataLabelShapeType = DataLabelShapeType.OvalCallout;
//单独设置第二个系列的第二个数据标签的形状为"下箭头标注"
ChartDataLabel label2 = dataLabels2.Add();
label2.ID = 1;
label2.LabelValueVisible = true;
label2.DataLabelShapeType = DataLabelShapeType.DownArrowCallout;
//保存文档,注意引导线和数据标签的形状设置只有13及其之后的版本才支持
ppt.SaveToFile(@"result.pptx", FileFormat.Pptx2013);
VB.NET
'加载有图表的PowerPoint文档
Dim ppt As New Presentation()
ppt.LoadFromFile("test.pptx")
'获取图表
Dim chart As IChart = TryCast(ppt.Slides(0).Shapes(0), IChart)
'获取第一个系列的数据标签并设置其为可见
Dim dataLabels1 As ChartDataLabelCollection = chart.Series(0).DataLabels
dataLabels1.LabelValueVisible = True
'设置这个系列的所有数据标签的形状为"椭圆"
dataLabels1.DataLabelShapeType = DataLabelShapeType.Oval
'设置这个系列的所有数据标签引导线的前端类型
dataLabels1.LeaderLines.LineBeginType = LineEndType.StealthArrow
'设置这个系列的所有数据标签引导线的前端大小
dataLabels1.LeaderLines.LineBeginWidth = LineEndWidth.Wide
dataLabels1.LeaderLines.LineBeginLength = LineEndLength.[Long]
'获取第二个系列的数据标签并设置其为可见
Dim dataLabels2 As ChartDataLabelCollection = chart.Series(1).DataLabels
'单独设置第二个系列的第一个数据标签的形状为"椭圆形标注"
Dim label As ChartDataLabel = dataLabels2.Add()
label.ID = 0
label.LabelValueVisible = True
label.DataLabelShapeType = DataLabelShapeType.OvalCallout
'单独设置第二个系列的第二个数据标签的形状为"下箭头标注"
Dim label2 As ChartDataLabel = dataLabels2.Add()
label2.ID = 1
label2.LabelValueVisible = True
label2.DataLabelShapeType = DataLabelShapeType.DownArrowCallout
'保存文档,注意引导线和数据标签的形状设置只有13及其之后的版本才支持
ppt.SaveToFile("result.pptx", FileFormat.Pptx2013)
效果图: