excel中如根据单元格数据生成饼形和柱形图表?也就是Excelchart的用法?急 300

解决方案 »

  1.   

    var 
        ISheet: Excel97.ExcelWorksheet; 
        IRange: Excel97.Range; 
        IChartO: Excel97.ChartObject; 
        IChart: Excel97.ExcelChart; 
    begin 
    {...} 
          ISheet := IWorkbook.Worksheets.Item[''Лист1''] as Excel97.ExcelWorksheet; 
          IRange := ISheet.Range[''B8:C10'',EmptyParam]; 
          IChartO := ISheet.ChartObjects(1,GetUserDefaultLCID) as ChartObject; 
          IChart := IChartO.Chart;       IChart.SetSourceData(IRange,xlColumns); 具体参考<<delphi 深度探索>>II
      

  2.   

    require 'win32ole'# Create Excel OLE object
    excel = WIN32OLE.new("excel.application")# Enter data
    excel['Visible'] = TRUE;
    workbook = excel.Workbooks.Add();
    excel.Range("a1")['Value'] = 3;
    excel.Range("a2")['Value'] = 2;
    excel.Range("a3")['Value'] = 1;# Create chart
    excel.Range("a1:a3").Select();
    excelchart = workbook.Charts.Add();
    excelchart['Type'] = -4100; # xl3DColumn
      

  3.   

    achart:=  worksheet.chartobjects.add(50,150,400,250);      achart.chart.ChartType  :=51;
          //achart.Chart.HasTitle:=True;      achart.chart.SeriesCollection.NewSeries ;
          achart.chart.SeriesCollection.NewSeries;
          achart.chart.SeriesCollection(1).Values :=  '=(Sheet1!R8C2,Sheet1!R8C5,Sheet1!R8C8)';
          achart.chart.SeriesCollection(1).Name := '="2003"'  ;
          achart.chart.SeriesCollection(1).XValues := '={"事故起数(起)","死亡情况","重伤情况"}';
          achart.chart.SeriesCollection(2).Values := '=(Sheet1!R8C3,Sheet1!R8C6,Sheet1!R8C9)';
          achart.chart.SeriesCollection(2).Name := '="2002"';
          //achart.chart.Location('Where:=xlLocationAsObject, Name:="Sheet1"');      achart.Chart.HasTitle:=True;
          achart.chart.ChartTitle.Characters.Text := '同一时期事故比较分析';
           //achart.chart.Location(1);
          //achart.chart.Location('Where:=xlLocationAsObject, Name:="Sheet1"');
          achart.chart.HasDataTable  :=True;
          achart.chart.DataTable.ShowLegendKey  :=True ;
      

  4.   

    使用Delphi 控制Excle二维图在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheetvar asheet1,achart, range:variant;1)选择当第一个工作薄第一个工作表asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];2)增加一个二维图achart:=asheet1.chartobjects.add(100,100,200,200);3)选择二维图的形态achart.chart.charttype:=4;4)给二维图赋值series:=achart.chart.seriescollection;range:=sheet1!r2c3:r3c9;series.add(range,true);5)加上二维图的标题achart.Chart.HasTitle:=True;achart.Chart.ChartTitle.Characters.Text:=’ Excle二维图’ 
      

  5.   

    比如所如何控制图表的形状,大小,在excel中的位置等等
      

  6.   

    >>大小,在excel中的位置
    achart:=asheet1.chartobjects.add(100,100,200,200);3)选择二维图的形态
      

  7.   

    我上边那段代码,你好好试试,就没问题了,很简单的,在Excel里面看看自动生成的VBA代码
      

  8.   

    to: qiujsh(qiujsh)
    图表有很多设置项
    这着设置想怎么设置的 ,比如说
    1柱型,饼型对应的chartype,
    2显示的是比例还是数值,
    3图表字体大小
    4SeriesCollection的颜色等等
    有没有详细的帮助文档?