如何在delphi打开一已存在的excel(50分)

  • 主题发起人 主题发起人 mei-li
  • 开始时间 开始时间
M

mei-li

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在delphi打开一已存在的excel,并对其通过程序进行修改,如何编程,能否详细些,谢谢。

 
GetActiveOleObject可以么?
 
详细见Delphi4技术内幕
 
sorry,是指已经写好的excel文件
 
在server控件里有对应的excel控件,放进你的程序就行了
 
winexec最简单。
 
procedure TForm1.Button1Click(Sender: TObject);
var
eclApp,WorkBook:Variant;//声明为OLE Automation 对象
xlsFileName:string;
begin
xlsFileName:='ex.xls';
try
//创建OLE对象Excel Application与 WorkBook
eclApp:=CreateOleObject('Excel.Application');
WorkBook:=CreateOleobject('Excel.Sheet');
except
ShowMessage('您的机器里未安装Microsoft Excel。');
Exit;
end;
try
if OpenDialog1.Execute then begin
xlsFileName:=OpenDialog1.FileName;
ShowMessage('下面演示:打开XLS文件,并修改其中的内容,然后,由用户决定是否保存。');
WorkBook:=eclApp.workBooks.Open(xlsFileName);
eclApp.Cells(2 , 1):='Excel文件类型';
if MessageDlg(xlsFileName+'文件已被修改,是否保存?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
WorkBook.save
else
workBook.Saved := True; //放弃修改
WorkBook.Close;
eclApp.Quit;//退出Excel Application
eclApp:=Unassigned;//释放VARIANT变量
end;
except
ShowMessage('不能正确操作Excel文件。可能是该文件已被其他程序打开,或系统错误。');
WorkBook.close;
eclApp.Quit;
//释放VARIANT变量
eclApp:=Unassigned;
end;


end;
 
同意樓上的意見。
順便問一下,我用Server Component好像無法對office對象進行操作。
謝謝
 
ExcelApplication1.Connect
ExcelApplication1.visible[0]:=True;
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open (FileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) );
这样就可以了!请替换FileName参数

 
后退
顶部