怎么样把一个TChart类型的值输入到某个excel文件中?或者excel中怎么导入一个图片?
谢谢

解决方案 »

  1.   

    在EXCEL中写入数据,再通过EXCEL的画图功能画图。
    procedure Tform1.EXCEL1Click(Sender: TObject);
    var
      excelapp,workBook,WorkSheet:Variant;
      r:Integer;
    Begin
      Try
        excelApp:=CreateOleObject('Excel.Application');
        workBook:=CreateOleObject('Excel.Sheet');
        Excelapp.Visible:=true;
      Except
        ShowMessage('创建 Excel 对象出错,请检查你的系统是否安装了 Microsoft Excel!');
        Exit;
      end;    try
          workBook:=excelApp.workBooks.Add;
          worksheet:=Excelapp.Sheets.Item['Sheet1'];
          worksheet.Cells(1,1):='表头';
          worksheet.Cells(2,1):='';
          worksheet.cells(5,1):='栏1';
          worksheet.cells(5,2):='栏2';
          worksheet.cells(5,3):='栏3';
          worksheet.cells(5,4):='栏4;
          worksheet.cells(5,5):='栏5';      r:=6;
          with query1 do begin
            first;
            while not(eof) do
            begin
              worksheet.cells(r,1):=''''+fieldbyname('字段1').AsString;
              worksheet.cells(r,2):=fieldbyname('字段2').AsString;
              worksheet.cells(r,3):=fieldbyname('字段3').AsString;
              worksheet.cells(r,4):=fieldbyname('字段4').AsString;
              worksheet.cells(r,5):=fieldbyname('字段5').AsString;
              next;
              r:=r+1;
            end;
          end;      WorkBook.Charts.Add;
          WorkBook.ActiveChart.ChartType := $41;
          WorkBook.ActiveChart.SetSourceData(WorkSheet.Range[format('A5:E%d',[r-1])], PlotBy:= 2);
          workbook.ActiveChart.Location($1);
        except
          ShowMessage('导出数据失败,请检查设置!');
          workBook.close;
          excelApp.Quit; //释放VARIANT变量
          excelApp:=Unassigned;
        end;
    end;