起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 875|回复: 18

【结贴】我想直接操作Excel文件,请问应该如何处理?**

[复制链接]
发表于 2007-10-10 15:47:32 | 显示全部楼层 |阅读模式
需要手工创建Excel文件,同时给手工写入数据,请问应该如何处理?需要导入第三方控件么?导入什么控件?能不能把你们写Excel的代码给参考一下。

另外平台的DataGrid的另存为Excel文件是如何实现的?有没有参考代码?
回复

使用道具 举报

发表于 2007-10-10 15:51:42 | 显示全部楼层
对excel的控制,楼主可以参考一下office编程资料。是否导入控件取决于你使用的方式。

datagrid是用了第三方控件实现的导出excel
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-10 16:03:17 | 显示全部楼层
如不导入怎么在平台中操作Excel?
如果需要导入,那么导入那个控件?
datagrid用的是那个第三方控件?平台提供么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 08:50:08 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

发表于 2007-10-11 09:35:33 | 显示全部楼层
不用第三方控件,可以使用DispatchHelper或者oleContainer来做,在论坛里有很多例子的

导入控件:你可以到网上搜索,只要在delphi中可以用就行了

datagrid本身就是一个控件,导出到excel是其中的一个方法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 12:56:24 | 显示全部楼层
下面的代码有什么问题?
为什么doc := System.DispatchHelper.Create(app.PropertyGet('Workbooks[1].WorkSheets[1]',[]));
这一句报错?
var
     o:   Object;
     app, docs, doc: System.DispatchHelper;
begin
      //创建接口对象o
      o   := ComObj.CreateOleObject('Excel.Application');

      //根据接口对象o创建接口app
      app := System.DispatchHelper.Create(o);
      app.PropertyPut('Visible', [True]);
      docs := System.DispatchHelper.Create(app.PropertyGet('Workbooks',[]));
      docs.InvokeMethod('ADD', []);
      doc := System.DispatchHelper.Create(app.PropertyGet('Workbooks[1].WorkSheets[1]',[]));
      //app.PropertyPut('Workbooks[1].WorkSheets[1].Name', ['wxw']);
     //释放接口对象。
     (o as System.IDisposable).Dispose;

end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 14:33:45 | 显示全部楼层
???
回复 支持 反对

使用道具 举报

发表于 2007-10-11 14:45:34 | 显示全部楼层
估计是你对office接口的调用方法写错了,查询一下微软的帮助资料吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 16:14:19 | 显示全部楼层
麻烦能不能给个正确的写法,如果能查到我还问您做什么?
回复 支持 反对

使用道具 举报

发表于 2007-10-11 17:45:43 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-28 23:44 , Processed in 0.041672 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表