我用的是
MSExcel,workbook: Variant;
MSExcel := CreateOleObject('Excel.Application');
workbook := CreateOLEObject('Excel.Sheet');
workbook := MSExcel.workbooks.add;
数据可以插入,请问jpg格式的图片如何插?

解决方案 »

  1.   

    ExcelApp.ActiveSheet.Pictures.Insert('D:\Documents and Settings\Administrator\My Documents\My Pictures\2004212231591.jpg').Select;
      

  2.   

    uses ComObj;procedure TForm1.Button1Click(Sender: TObject);
    Var FExcel    :OleVariant; //excel应用程序
        FWorkBook :OleVariant; //工作表
        FWorksheet:OleVariant; //工作薄
        FPicture:OleVariant;
        TmpStr:String;
    begin
       FExcel:= CreateoleObject('excel.Application');
       FWorkBook:=FExcel.WorkBooks.Add; //新的工作表
       FWorksheet:=FWorkBook.Worksheets[1];
       FWorksheet.Select;  //插入图象并设置位置与大小
       tmpstr:='f:\1.jpg';
       FPicture:=FWorksheet.Pictures.Insert(tmpstr);
       FPicture.Left:=10;
       FPicture.Top:=10;
       FPicture.width:=200;
       FPicture.height:=200;
       FPicture:=null;
       FExcel.visible:=true;
    end;
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExcelXP, OleServer, ExtDlgs;type
      TForm1 = class(TForm)
        ExcelApplication1: TExcelApplication;
        ExcelWorkbook1: TExcelWorkbook;
        ExcelWorksheet1: TExcelWorksheet;
        Button1: TButton;
        OpenPictureDialog1: TOpenPictureDialog;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      aWorkBook : _Workbook;
      aSheet : Variant;
      FPicture:OleVariant;
    begin
      if OpenPictureDialog1.Execute then
      begin
        ExcelApplication1.Connect;
        aWorkBook := ExcelApplication1.Workbooks.Add(EmptyParam, 0);
        aSheet := aWorkBook.Sheets[1];
        //aSheet.Range['f1'].Select;//这里是定位图片插入的位置
        FPicture:=asheet.Pictures.Insert(OpenPictureDialog1.FileName);
        FPicture.Left:=100;
        FPicture.Top:=100;
        ExcelApplication1.Visible[0] := True;
        ExcelApplication1.Disconnect;
      end;
    end;end.