好象不能直接用ado打开excel的数据库,要转换。

解决方案 »

  1.   

    但李维的<<delphi5 ado/mts/com+高级程序设计篇>>里却写着可以直接用excel表做数据源,方法类似access。
      

  2.   

    绝对可以,我曾经在zdnet上看到过一片介绍的文章,用jet 4.0连接,可以像操作普通的表格一样操纵Excel!!!
    但好像需要修改一下连接的字串,具体细节记不清楚了,你去查查,是去年的文章!
      

  3.   

    是啊,是可以打开,只要把参数extended properties 设为excel 8.0即可
      

  4.   

    同意 楼上的转贴在DELPHI中使用ADO直接访问Excel数据文件
    1.设置ADOConnection的ConnectionString
        构造ConnectionString时,OLE DB的提供者要选择Microsoft Jet 4.0 OLE DB Provider作为ADO的驱动程序。这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件。
        连接的数据库名称当然就是你要打开的Excel文件,注意扩展名是*.xls,而不是*.mdb。
        最关键的一点是,还要设置扩展属性Extended Properties为“Excel 8.0”,否则,测试连接时会报告无法识别数据格式的错误。Extended Properties的属性值在“所有”参数页中输入。
        最后,设置完成后的ConnectionString中的各项参数为:
        Provider=Microsoft.Jet.OLEDB.4.0
        Data Source=MyExcelFile.xls
        Extended Properties=Excel 8.0
        Persist Security Info=False2.设置ADODataSet或ADOTable
        将ADODataSet或ADOTable连接到刚才的ADOConnection。如果不用ADOConnection,也可以参照上面的方法直接设置ADODataSet或ADOTable的ConnectionString属性。
        对于ADODataSet,需要将CommandType属性设置为cmdTableDirect,而对于ADOTable,则将TableDirect属性设置为True。因为,访问Excel文件是直接的数据文件访问,不是通过SQL语句来操作游标访问的。如果不设置直接访问,则系统会报告SQL语句格式错误等信息。
        然后,当你下拉ADODataSet中的CommandText属性或ADOTable的TableName属性时,就可以选择到要打开的工作表了。注意,表名后面多了加一个$符号。
              3.打开ADODataSet或ADOTable
      

  5.   

    bluespy () 怎么也不回来看看了