怎么在程序中嵌入Excel(由程序创建)(50分)

  • 主题发起人 主题发起人 chlf
  • 开始时间 开始时间
C

chlf

Unregistered / Unconfirmed
GUEST, unregistred user!
OleContainer1.CreateObject('Excel.Application',true);
Olecontainer1.DoVerb(0);
它竟然告诉我"不支待此接口"????
 
我看看再说
 
不会吧,出错信息怎么说?
 
var
XL:variant;
...
begin
...
try
XL:=CreateOLEObject('Excel.Application');
except
Result:='在创建EXCEL的OLE对象时出现错误,没有安装EXCEL或EXCEL的OLE不能正常工作';
end;
...
end;
 
同意楼上的
 
同意楼上的
 
我觉得直接用OLE控件不是很方便吗?
 
{
OleContainer1.CreateObject('Excel.Application',true);
Olecontainer1.DoVerb(0);
它竟然告诉我"不支待此接口"????
}
当然不支持

要么用oldcontainer
要么用
var
XL:variant;
...
begin
...
try
XL:=CreateOLEObject('Excel.Application');
except
Result:='在创建EXCEL的OLE对象时出现错误,没有安装EXCEL或EXCEL的OLE不能正常工作';
end;
...
end;
 
用ADO可直接连接Excel的表,连接后在用TTable取数据时别忘了在表名的两端加上
[TableName$],记住[ $]是必不可少的,这样就跟使用普通的数据表一样了
 
支不支持接口,你在编程的时候就可以在容器上单击鼠标右键,
添加EXCEL对象就可以知道了,关于此类,DFW上有很多,找吧。
我想借宝地顺便问大家一下,doverb的参数到底有那几个?各有何用?
 
不好意思,你的问题我还没能力回答!不过我一直有一个问题很困惑,就是在DELPHI中我想把自己制的打印保存为EXCEL,
不知能否做到请各位大虾多多赐教.你后再重谢!!
 
这个问题不难解决。
假设存在D:/temp.xls这样一个Excel文件,那么便可以使用以下这一条语句实现"内嵌Excel"的效果。
OleContainer1.CreateObjectFromFile('D:/temp.xls',false);
再将OleContainer1.AutoActivate:=aaGetFocus;使可以实现一取得焦点即可输入。
(直接调用OleCOntainer1.DoVerb(0);更方便些)

类似的
OleContainer1.InsertObjectDialog;
OleContainer1.AutoActivate:=aaGetFocus;
在弹出的对话框中选择Microsoft Excel 工作表 就可以实现嵌入一张空表格。

还可以使用变量Var CreateInfo: TCreateInfo
设置变量CreateInfo的属性,再调用OleContainer1.CreateObjectFromInfo(CreateInfo);
这样就可以实现本题的要求。
再将问题具体化点,CreateInfo变量的属性要怎么设置?有没有更简便的方法?
 
怎么在程序中嵌入Excel(由程序创建)?
我要在程序中内嵌Excel(不能另外弹出窗口的)。就是说可以在一个自已写的程序中,可以
读写Excel文件的内容,可以调用Excel的打印功能。
我装了Excel,环境是Delphi5+Excel2000.
------------------------
try
XL:=CreateOLEObject('Excel.Application');
except
Result:='在创建EXCEL的OLE对象时出现错误,没有安装EXCEL或EXCEL的OLE不能正常工作';
end;
----------------------------------
这么多人同意的这个观点并不能达到我说的"内嵌"效果。顶多就只能调用
XL.Visible:=true使得另开的Excel可见而已
 
container没有问题啊。是在你的form里内嵌的,激活时就可以调用excel了。
 
多人接受答案了。
 
后退
顶部