各位:用DELPHI生成EXCEL图表(饼图),显示百分比保留两位小数如何设置?ExlApp.ActiveChart.SeriesCollection[1].DataLabels.NumberFormatLocal:='0.00%'; 一直报错

解决方案 »

  1.   

    不知道這樣是否可行:
    ExlApp.ActiveChart.SeriesCollection[1].DataLabels.NumberFormatLocal:='#.##';
      

  2.   

    NumberFormatLocal:='0.00%';这样肯定是不行的,因为Format没有这种类型。在Value里加百分号吧!比如:
    ExlApp.ActiveChart.SeriesCollection[1].AsString := FloatToStr((ClientDataSet.FieldByName('XXX').Value*100))+'%';
      

  3.   

    更正一下:
    ExlApp.ActiveChart.SeriesCollection[1].DataLabels.NumberFormatLocal:='#.##%';你也可以參考VBA宏代碼自己解析:Sub Macro1()
    '
    ' Macro1 Macro
    ''
        Range("A1:B4").Select
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.SetSourceData Source:=Range("Sheet1!$A$1:$B$4")
        ActiveChart.ChartType = xlPie
    End Sub
    Sub Macro2()
    '
    ' Macro2 Macro
    ''
        Range("B1:B4").Select
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.SetSourceData Source:=Range("Sheet1!$B$1:$B$4")
        ActiveChart.ChartType = xlColumnStacked
        ActiveChart.SeriesCollection(1).Select
        ActiveChart.SeriesCollection(1).ApplyDataLabels
        ActiveSheet.ChartObjects("圖表 7").Activate
        ActiveChart.Axes(xlValue).MajorGridlines.Select
        ActiveSheet.ChartObjects("圖表 7").Activate
        ActiveChart.Axes(xlValue).Select
    End Sub
      

  4.   

    怀疑操作对象没有NumberFormatLocal属性.去MSDN的LIBRARY找找资料吧.
      

  5.   

    生成一个CHARE有数据源(EXCEL上的数据)的吧, 那个CELL就有NumberFormatLocal,你可以去设置一下那个CELL看看