A:在天软中,实现将图形导出到Excel文件中,需要先将图形保存在本地,然后再通过com对象,将图片插入到指定excel的位置。
(Excel的com对象Excel.Application,具体请参考微软官方说明:
Shapes.AddPicture 方法(Excel)
)
具体步骤如下:
第一步:在天软中画图并将图形导出到本地
具体操作请参考:FAQ:
Q:如何将天软生成的图片导出到本地?
假设本次导出的图形地址为:D:\\DemoTest\\klineTest01.jpg
第二步:封装插入图片的模型AddPictureToExcel
定义:AddPictureToExcel(picpath,excelpath,sheetname:String,left,top,width,height:Integer):0
说明:通过com对象,在指定excel里导入图片
参数:
picpath:字符串,图片路径
excelpath:字符串,excel路径
sheetname:字符串,工作簿名称
left:整型,图片插入位置,相对于文件左上角的图片的左上角位置(以点为单位)
top:整型,图片插入位置,图片的左上角位置(以点为单位),与文件顶端相对。
width:整型,图片宽度,以点为单位(若要保留图片原有宽度,请输入-1)
height:整型,图片高度,以点为单位(若要保留图片原有高度,请输入-1)
函数封装:
function AddPictureToExcel(picpath,excelpath,sheetname,left,top,width,height);
begin
{
通过com对象,在指定excel里导入图片
picpath:图片路径
excelpath:excel路径
sheetname:工作簿名称
left,top:图片插入位置
width,height:图片宽高;保留原图片宽高,设置为-1
}
//创建com对象
GetOleObject("Excel.Application",0,Obj);
//打开或新建excel
app:=Obj.WorkBooks.Open(excelpath);
if not ifobj(app) then
begin
ifnewxls:=1;
app:=Obj.Workbooks.Add;
end
//打开或新建工作波
sheet:=app.Worksheets(sheetname);
if not ifobj(sheet) then
begin
sheet:=app.Worksheets.add;
sheet.name:=sheetname;
end
//添加图片,设置图片位置和大小
sheet.Shapes.AddPicture(picpath,true,true,left,top,width,height);
//保存excel
if ifnewxls then
app.saveas(excelpath);
else
app.save();
//关闭excel
app.close();
End;
用户操作:将上面函数AddPictureToExcel的实现封装成天软函数。
相关操作链接:FAQ:
Q:如何新建函数
或者下载封装好的函数附件,导为用户函数
函数附件:
附件:AddPictureToExcel.fun
函数导入方法:FAQ:
Q:如何导入函数
第三步:调用函数AddPictureToExcel插入图片到指定位置
实现代码:
picpath:='D:\\DemoTest\\klineTest01.jpg';//第一步中的图片
excelpath:="D:\\DemoTest\\test.xlsx";
sheetname:="PicSheet";
return rdo2 AddPictureToExcel(picpath,excelpath,sheetname,0,0,-1,-1);
//结果展示: