delphi 操作Excel插入图片

看如下的代码:

function ExportExcelForBmp(sfilepath : string) : Boolean;

var
    excel : OleVariant;
    workBook : OleVariant;
    workSheet : OleVariant;
    picture : OleVariant;
    workRange : OleVariant;
    i:integer;
begin
    result := true;

    try
        excel := CreateOleObject('excel.Application');

        workBook := excel.workBooks.open('c:\1.xls'); //打开xls文件 在excel2007 2003经过测试发现出现提示对话框。

//测试结果:

//用友华表TCell的WorkbookReadonly属性为True时导出xls文件使用excel2007 or excel2003打开都出现提示对话框。假如为False时则不出现这个提示。

        workSheet := workBook.WorkSheets[1];
        workSheet.Select;

        workRange := workSheet.Range[workSheet.Cells.Item[6,1],workSheet.Cells.item[7,1]]; //目标位置

        picture := workSheet.Pictures.Insert('c:\1.bmp'); //插入图片
        picture.left := workRange.left + 1; //左
        picture.top := workRange.top + 1; //高
        picture.width := workRange.width - 2; //宽度
        picture.height := workRange.height - 2; //高度
        picture := Unassigned;

        workBook.save; //保存
    except
        result := false;
    end;
    workBook.close;
    excel.Quit;
    excel := Unassigned;
end;

你可能感兴趣的:(c,function,String,Excel,测试,Delphi)