如何在数据标签C#中使用pattern属性

时间:2017-06-29 11:05:32

标签: c# excel interop

我正在尝试使用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
    }
}

2 个答案:

答案 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)

Patterned是一种可以传递所需模式的方法。它用于设置ReadOnly属性.Pattern

语法应该符合文档here所述的模式化方法:

pt.DataLabel.Format.Fill.Patterned( msoPatternZigZag );

列出here

列出的不同选项