我正在尝试使用C#来优化data label。但我不知道FillFormat.Pattern。
任何人都可以帮助我,如何使用它并塑造Excel数据标签。 我们将非常感谢您的帮助。
这是我到目前为止所做的。
System.Collections.IEnumerator iEChartSeries = seriesCollection.GetEnumerator();
if(iEChartSeries.MoveNext()){
var oSeries = (Excel.Series)(iEChartSeries.Current);
Excel.Points pts = (Excel.Points) oSeries.Points(Type.Missing);
System.Collections.IEnumerator iPoints = pts.GetEnumerator();
while(iPoints.MoveNext())
{
var pt = (Excel.Point)(iPoints.Current);
pt.HasDataLabel = true;
pt.DataLabel.Position = Excel.XlDataLabelPosition.xlLabelPositionAbove;
pt.DataLabel.Font.Name = "Arial";
pt.DataLabel.Font.FontStyle = "Bold";
pt.DataLabel.Font.Size = 8;
pt.DataLabel.Text = "N";
pt.DataLabel.Format.Fill.Patterned = ??;// how to get circle/ triangle/ square shapes
}
}
答案 0 :(得分:2)
我相信此UI method的自动化是通过AutoShapeType
属性实现的,而不是Fill
。请参阅this post并阅读@SiddharthRout赢得赏金的答案。
对于您的代码,请替换此行:
pt.DataLabel.Format.Fill.Patterned = ??
使用
pt.DataLabel.Format.AutoShapeType = 105;
105是msoShapeRectangularCallout
。我从你对其他答案的评论中注意到,你可能没有Microsoft.Office.Core
名称空间enumeration lives的引用。神奇的数字是here。
HTH
答案 1 :(得分:1)