以文本方式查看主题 - 搭建论坛 (http://bbs.diylsoft.com:8118/starforum/index.asp) -- 数据库交流 (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=6) ---- 完美解决《星》读取任意版本EXCEL文件 (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=6&id=20811) |
||||
-- 作者:玩脑者 -- 发布时间:2008-10-3 17:34:15 -- 完美解决《星》读取任意版本EXCEL文件 在论论中有很多朋友提到《星》不能读取现在版版的EXCEL问题,本人也遇到过,在论坛中提问,月太官方说:现在只支持“标准格式”---也就是最早版本的EXCEL,对新版EXCEL不支持,是因为微软的ADO没有升级,不支持读取新版EXCEL,其实不然------微软也不傻,呵呵,完全可以读取。只是方法不对头而以。需要的朋友可以发短信。------不要说我不够无私。 |
||||
-- 作者:从头再来 -- 发布时间:2008-10-4 13:23:44 -- EXCEL文件是个啥东西,它能干啥用,这么用。 |
||||
-- 作者:reachtone -- 发布时间:2008-10-4 14:11:13 -- 以下是引用玩脑者在2008-10-3 17:34:15的发言:
在论论中有很多朋友提到《星》不能读取现在版版的EXCEL问题,本人也遇到过,在论坛中提问,月太官方说:现在只支持“标准格式”---也就是最早版本的EXCEL,对新版EXCEL不支持,是因为微软的ADO没有升级,不支持读取新版EXCEL。。。 呵呵,我的观点和你一样。。。 如果用搭建中的“ADO数据库连接”构件,并指定数据库类型为EXCEL,则只能显示连接成功,至于里面有几张表、甚至想看一下表里面的内容,根本就实现不了(我用的2003版本,其它的没测试过)。针对这一点,我们可以通过如下方法解决: 1、EXCEL数据库连接成功以后,要对表中的文件进行查询,表名称后面必须加上$,并以方括号引起来。如select * from [Sheet1$]。搭建在这方面可能没有对EXCEL类型的数据库处理好; 后来经过深入研究发现,搭建产品中的“ADO数据库连接”构件,其实就是调用微软“数据连接属性”中的jet提供程序。既然搭建自己做的EXCEL连接不好使,咱就直接用微软的吧。操作方法: 1、加入一个“ADO数据库连接”构件后,将其“数据库种类”设为“自定义”; 通过这样的连接所建立的各种查询显示,编辑修改就不存在任何问题了。我也为此专门做了个例子,请各位下载测试。 |
||||
-- 作者:reachtone -- 发布时间:2008-10-4 14:12:12 -- 例子在这里:
|
||||
-- 作者:reachtone -- 发布时间:2008-10-4 14:21:36 -- 楼主的“完美方案”也可以公开出来让我们学习一下嘛。 事实证明,搭建官方的说法是不成立的。至于官方是否改进“SQL数据库连接”构件,就看他们自己了。这个问题我早就发现了,本来是不想说的,看到楼主如此关心EXCEL的读写问题,我也就跟个帖表达一下。 |
||||
-- 作者:玩脑者 -- 发布时间:2008-10-4 14:28:21 -- 对啊,搭建的很多构件,包括属性都是调用微软的,当我了解到这一点后,通过查看微软支持库中ADO与EXCEL调用时,找到了解决方案, 关于读入,对于不太了解SQL的朋友,我的方法是,在EXCEL---插入-----名称----定义-----弹出窗口,输入一个名称,定义区域,确定就可以了,这种方法的好处在于在一个SHEET里可以定义多个(N个)区域,想读哪就读哪。 现在试一试吧,,,。。。 另外加上reachtone朋友的写入,就可以完全自由的对EXCEL表实施操作了。。。 微软支持库:http://support.microsoft.com/kb/278973/zh-cn |
||||
-- 作者:reachtone -- 发布时间:2008-10-4 14:41:00 -- 以下是引用玩脑者在2008-10-4 14:28:21的发言:
关于读入,对于不太了解SQL的朋友,我的方法是,在EXCEL---插入-----名称----定义-----弹出窗口,输入一个名称,定义区域,确定就可以了,这种方法的好处在于在一个SHEET里可以定义多个(N个)区域,想读哪就读哪。 另外加上reachtone朋友的写入,就可以完全自由的对EXCEL表实施操作了。。。 呵呵,没必要这么复杂,其实就是一个“ADO数据库连接”构件的问题。只要通过“字符串”方式对EXCEL文件建立连接,搭建就可以象处理其它数据库一样对任意列、任意条件的数据记录进行查询和修改。而且,不同数据库的连接字符串,其格式都是固定的,完全可以在创建窗口的时候,自己直接给“连接字符串”赋值,非常简单。 我也没做什么写入功能,只是改变了一下EXCEL文件的连接方式而已。如果搭建官方能完善一下EXCEL文件的连接,那就最好不过了。 |
||||
-- 作者:mysoap -- 发布时间:2008-10-4 14:55:50 -- 《搭建》是严格按照“系统构件”的模式做的,给人以很大的发挥空间; 《搭建》不乱做构件,这也是我喜欢它的原因。 |
||||
-- 作者:mysoap -- 发布时间:2008-10-4 14:59:40 -- 作为一个“开发工具”来讲,有些东西看不清楚,先放一放,也是一个不错的选择。。。 |
||||
-- 作者:reachtone -- 发布时间:2008-10-4 15:14:07 -- 呵呵,我在三楼说的步骤,只有企业版用户才可以用的。因为其它版本用户的“ADO数据库连接”构件,根本就没有“字符串连接”这一属性。 |