如何通过DELPHI启动EXCEL并拷贝图片到指定的工作表位置(100分)

  • 主题发起人 junningxie
  • 开始时间
J

junningxie

Unregistered / Unconfirmed
GUEST, unregistred user!
如何通过DELPHI启动EXCEL并拷贝图片到指定的工作表位置
 
我做过的一段代码:
var
Excel: variant;
l,r: integer;
WorkBook, Sheet: Variant;
begin
try
Excel:=UnAssigned;
Excel:=CreateOleObject('Excel.Application');
Excel.Visible := True;
except
Excel:=UnAssigned;
raise Exception.Create('无法启动 Excel');
end;
try
//Excel.SheetsInNewWorkbook := 1;
//Excel.WorkBooks.Add;
WorkBook := Excel.WorkBooks.Add;
Sheet := WorkBook.WorkSheets[1];
if chkGrid.Checked then //--输出数据
for r := 0 to Grid1.RowCount-1 do
for l := 0 to Grid1.ColCount-1 do
Sheet.Cells[r+1, l+1] := Grid1.Cells[l,r];

if chkChart.Checked then //--输出数据
begin
Chart1.CopyToClipboardBitmap;
Excel.ActiveSheet.PasteSpecial;
end;
finally
Excel:=Unassigned;
WorkBook:=Unassigned;
Sheet:=Unassigned;
end;
end;
 
用自动化服务器控件(启动过程就不说了)
先将图片copy到剪贴板,如是文件可用image1.Loadfromfile(...)
合并单元格B1:F8(例)
ExcelSheet1.Range[ExcelSheet1.Cells.Item[1,2],ExcelSheet1.Cells.Item[8,6]].Activate ;
ExcelSheet1.Paste ;
 
顶部