想找个图表插件,但不熟悉,请问一下
cell,chinaexcel,etcell那个好使?
还有其他的么?各位建议一下,说说自己使用这些东东的看法和经验
谢谢了……

解决方案 »

  1.   

    >>想找个图表插件,但不熟悉,请问一下直接生成到 Excel也许简单些
      

  2.   

    (三) 使用Delphi 控制Excle二维图
    在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
    var 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二维图’          6)改变二维图的标题字体大小
    achart.Chart.ChartTitle.Font.size:=6;7)给二维图加下标说明
    achart.Chart.Axes(xlCategory, xlPrimary).HasTitle := True;
    achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text := '下标说明';8)给二维图加左标说明
    achart.Chart.Axes(xlValue, xlPrimary).HasTitle := True;
    achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text := '左标说明';9)给二维图加右标说明
    achart.Chart.Axes(xlValue, xlSecondary).HasTitle := True;
    achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text := '右标说明';10)改变二维图的显示区大小
    achart.Chart.PlotArea.Left := 5;
    achart.Chart.PlotArea.Width := 223;
    achart.Chart.PlotArea.Height := 108;11)给二维图坐标轴加上说明
    achart.chart.seriescollection[1].NAME:='坐标轴说明';
     
    E-Mail: [email protected]
               [email protected]声明:转载本文内容请与作者联系。1、创建一个普通Application。 2、在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 3、对Excel的一些操作,具体方法如下: 【打开Excel97】
        ExcelApplication1.Connect;
        ExcelApplication1.Visible[0]:=True;
    【增加一个Workbook】
        ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
    【添加一个Worksheet】
      var  Temp_Worksheet: _WorkSheet;
      begin
        Try
          Temp_Worksheet:=ExcelWorkbook1.
          WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;//(注意)
          ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
        Except
          ShowMessage('Failure');
        End;
      end;
    【关闭Excel】
        ExcelApplication1.Quit;
        ExcelWorksheet1.Disconnect;
        ExcelWorkbook1.Disconnect;
        ExcelApplication1.Disconnect;
    【选择当前Workbook的某一Worksheet】
      procedure TForm1.ComboBox1DropDown(Sender: TObject);
      var
        i: Integer;
      begin
        ComboBox1.Clear;
        For i:=1 to ExcelWorkbook1.Worksheets.Count do
          ComboBox1.Items.Add((ExcelWorkbook1.Worksheets.Item[i] as _WorkSheet).Name);
      end;  procedure TForm1.ComboBox1Change(Sender: TObject);
      begin
        ExcelWorkSheet1.ConnectTo(ExcelWorkbook1.Worksheets.Item [ComboBox1.ItemIndex+1] as _WorkSheet);
        ExcelWorkSheet1.Activate;
      end;【选择某一Workbook】
      procedure TForm1.ComboBox2DropDown(Sender: TObject);
      var
        i: Integer;
      begin
        ComboBox2.Clear;
        if ExcelApplication1.Workbooks.Count >0 then
        For i:=1 to ExcelApplication1.Workbooks.Count do
        Combobox2.Items.Add(ExcelApplication1.Workbooks.Item[i].Name);
      end;  procedure TForm1.ComboBox2Change(Sender: TObject);
      begin
        ExcelWorkSheet1.Disconnect;
        ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Item[Combobox2.ItemIndex+1]);
        ExcelWorkBook1.Activate;
        ExcelWorksheet1.ConnectTo(ExcelWorkBook1.ActiveSheet as _WorkSheet);
        ExcelWorkSheet1.Activate;
      end;【对某一单元格进行赋值及取值】
      procedure TForm1.Button5Click(Sender: TObject);
      begin
        ExcelWorksheet1.Cells.Item[SpinEdit2.Value,SpinEdit1.Value]:=Edit1.Text;
      end;  procedure TForm1.Button6Click(Sender: TObject);
      begin
        Edit1.Text:=ExcelWorksheet1.Cells.Item[SpinEdit2.Value,SpinEdit1.Value];
      end;【选择某一区域】
      ExcelWorkSheet1.Range['A1','C1'].Select;【打开一个Excel文件】
      if OpenDialog1.Execute then
      Begin
          ExcelWorkBook1.ConnectTo(
             ExcelApplication1.Workbooks.Open(
                OpenDialog1.FileName,EmptyParam,EmptyParam,EmptyParam,
                EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                EmptyParam,EmptyParam,EmptyParam,EmptyParam,0));
          ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Activesheet as _Worksheet);
      End;
    【存入一个Excel文件】
      procedure TForm1.button6Click(Sender: TObject);
      var
        i,row,column:integer;
      begin
        Try
          ExcelApplication1.Connect;
        Except
          MessageDlg('Excel may not be installed',mtError, [mbOk], 0);
          Abort;
        End;
        ExcelApplication1.Visible[0]:=True;
        ExcelApplication1.Caption:='Excel Application';
        ExcelApplication1.Workbooks.Add(Null,0);
        ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
        ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
        Table1.Open;
        row:=1;
        While Not(Table1.Eof) do
        begin
          column:=1;
          for i:=1 to Table1.FieldCount do
          begin
            ExcelWorksheet1.Cells.Item[row,column]: =Table1.fields[i-1].AsString;
            column:=column+1;
          end;
          Table1.Next;
          row:=row+1;
        end;
      End;【打印预览一个Excel文件】
      procedure TForm1.Button7Click(Sender: TObject);
      begin
        ExcelWorksheet1.PrintPreview;
      end;【打印一个Excel文件】
      procedure TForm1.Button8Click(Sender: TObject);
      begin
        ExcelWorksheet1.PrintOut;
      end;
      

  3.   

    非常感谢 aiirii的详细讲解,小弟主要是想找一个功能强大一点又比较好用的插件,cell当然是合要求,但挺贵的,呵呵,想看看其他的,经常用商业图表插件的大虾们给些建议,谢谢了……