找回密码
 注册
Simdroid-非首页
查看: 190|回复: 9

如何在Excel打开的情况下写入数据

[复制链接]
发表于 2010-3-22 11:13:00 | 显示全部楼层 |阅读模式 来自 上海
在EXCEL 打开的情况下只能读 数 据, 而不能写入数据。
不知如何解决?
发表于 2010-3-22 13:43:03 | 显示全部楼层 来自 天津
Simdroid开发平台
本帖最后由 xiezhh 于 2010-3-22 13:50 编辑

可以利用ActiveX控件接口技术
  1. >> Excel=actxGetRunningServer('Excel.Application');
  2. >> Sheets = Excel.ActiveWorkbook.Sheets;
  3. >> Sheet1 = Sheets.Item(1);
  4. >> Sheet1.Range('A1:C3').Value = [1 2 3;4 5 6;7 8 9];
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-3-22 14:16:34 | 显示全部楼层 来自 上海
谢谢。我试一 下。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-4-21 13:54:04 | 显示全部楼层 来自 上海
还是没有成功。
回复 不支持

使用道具 举报

发表于 2010-4-21 20:53:32 | 显示全部楼层 来自 天津
出了什么问题,描述一下。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-4-23 11:45:48 | 显示全部楼层 来自 上海
不好意思。主要问题如下:

1. EXCEL文件重复打开。
2. 数据不能写入提示有误。见附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2010-4-25 17:17:02 | 显示全部楼层 来自 天津
filename是文件的完整路径,根本就不是Excel工作簿的接口,怎么能那样用呢,先返回文件中工作簿的接口句柄,然后再查找工作表接口句柄,最后才能写入数据。

  1. w = invoke(wkbs,'open',filename);
  2. sh2 = w.sheets.item(5);
复制代码


如果打开的EXCEL文件中没有5个工作表,以上命令可能错误。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-4-26 14:22:50 | 显示全部楼层 来自 上海
非常感谢。可以写入了。

还有一个问题:如何检测EXCEL文件已打开?否则老是运行一次EXCEL又打开一次。
回复 不支持

使用道具 举报

发表于 2010-4-29 13:10:28 | 显示全部楼层 来自 天津
可以这样:
  1. try
  2.     Excel=actxGetRunningServer('Excel.Application');
  3. catch
  4.     Excel = actxserver('Excel.Application');
  5. end;
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-5-8 17:56:59 | 显示全部楼层 来自 湖北武汉
学习了,这个很有用啊~
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 23:22 , Processed in 0.059757 second(s), 21 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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