下面是我参考论坛写的代码
procedure TTPDCZCT.btnExportClick(Sender: TObject);
var
o: object;
app, Workbooks, sheet,FPicture,FPictures: DispatchHelper;
sFileName:string;
begin
inherited;
if SaveDialog1.Execute then
begin
sFileName:=SaveDialog1.FileName;
DataGrid1.SaveToXLS(sFileName,true);
o := ComObj.CreateOleObject('Excel.Application');
app := DispatchHelper.Create(o);
app.PropertyPut('Visible', [true]);
Workbooks := DispatchHelper.Create(app.PropertyGet('Workbooks', []));
sheet := DispatchHelper.Create(Workbooks.InvokeMethod('Open', [sFileName]));
sheet.InvokeMethod('Activate', []);
FPictures:=DispatchHelper.Create(sheet.PropertyGet('Pictures', []));
FPicture:=DispatchHelper.Create(FPictures.InvokeMethod('Insert', ['D:\1.jpg']));
FPicture.PropertyPut('Left', [10]);
FPicture.PropertyPut('Top', [10]);
FPicture.PropertyPut('width', [200]);
FPicture.PropertyPut('height', [200]);
(o as System.IDisposable).Dispose;
end;
end; |