delphi创建excel写入数据并创建二维折线图

来源:互联网 发布:python opencv图像分割 编辑:程序博客网 时间:2024/06/02 04:07

通过OLE创建excel

var

xlapp: variant;

xlssheet: variant;

str :string;

chart1:variant;

series,se:variant;

begin

if not VarIsEmpty(xlapp) then
  begin
    xlapp.DisplayAlerts := False;
    xlapp.Quit;
    VarClear(xlapp);
  end;
  // 通过ole创建Excel对象
  try
    xlapp := CreateOleObject('Excel.Application');
 except
    str := frmLan.GetLanStr('不能打开EXCEL!', 'Can''t open excel');
    ShowMessage(str);
    Exit;
  end;

  xlapp.Workbooks.Add;
  xlssheet := xlapp.Workbooks[1].WorkSheets[1];
 
  xlssheet.Columns.EntireColumn.AutoFit;

//给excel赋值

xlssheet.Cells[0,0] := 1;

//给excel插入公式

xlssheet.Cells[20,0]:='=STDEV(R[-11]C:R[-1]C)' ;

// 增加二维图

 //1.增加一个二维图
    chart1 := xlssheet.chartObjects.Add(
100,100,200,200);
    //2.选择二维图的形态
    chart1.Activate;
    chart1.chart.charttype := xlLineMarkers;
    chart1.chart.haslegend := True;
    //3.给二维图赋值
    series := chart1.chart.SeriesCollection;
    //4.给二维图加上标题
    chart1.chart.HasTitle := true;
    chart1.chart.ChartTitle.Characters.Text :=
'123';


    //5.添加做标题
   
 chart1.Chart.Axes(xlValue, xlPrimary).HasTitle := True;
   
      chart1.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text := leftTitle;
    //6.改变二维图的标题字体大小
    chart1.chart.ChartTitle.Font.size := 12;
    chart1.chart.Axes(xlCategory).HasMajorGridlines := true;

//x轴的值

//y轴的值
    

series.NewSeries;
    se := chart1.chart.seriescollection(1);
    se.XValues :=  '=sheet1!C2:C5
    se.Name :=rightTitle0;
    se.Values := '=sheet1!J2:J5';

       //第二条线

 series.NewSeries;
        se := chart1.chart.seriescollection(2);
        se.XValues := seXValues1;
        se.Name :=rightTitle1;
        se.Values := seValues1;

xlapp.Activeworkbook.saveas(AnsiString(Wj));
   xlapp.Activeworkbook.Close(False);
         xlapp.Quit;

end;

0 0
原创粉丝点击