2012-06-21 256 views
0

我使用Microsoft Office Interop Excel在VS 2008 C#项目中创建饼图。饼图中的百分比格式C#

的代码是:

Excel.Chart xlChart = (Excel.Chart)xlWorkBook 
     .Charts 
     .Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);     

Excel.Range xlDataRange = xlWorkSheet 
     .get_Range(xlWorkSheet.Cells[ 
         nDataForDiagramRow - alToExcelInvestmentGroupNames.Count, 
         _nColumnsCount - 3 
        ], 
        xlWorkSheet.Cells[ 
         nDataForDiagramRow - 1, 
         _nColumnsCount - 2 
        ]); 

xlChart.ChartType = Excel.XlChartType.xl3DPieExploded; 
xlChart.Elevation = 60; 
xlChart.Rotation = 130; 

xlChart.SetSourceData(xlDataRange, Type.Missing); 
xlChart.ApplyDataLabels(Excel.XlDataLabelsType.xlDataLabelsShowLabelAndPercent, 
         Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
         Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
         Type.Missing); 

xlChart.Location(Excel.XlChartLocation.xlLocationAsObject, xlWorkSheet.Name); 

随着法xlChart.ApplyDataLabels我做标签和百分比可见,但是百分比是圆的。

如何访问标签的格式以显示小数部分的百分比?

回答

0

我自己创建了解决方案。 nLabel是图表中标签集合中标签的整数个数。

Excel.Series xlSeries = (Excel.Series)xlWorkBook.ActiveChart.SeriesCollection(1); 

Excel.DataLabel dl = (Excel.DataLabel)xlSeries.DataLabels(nLabel); 

dl.NumberFormat = "0.0%";