我用ODBC联系EXCEL文件,但是在DELPHI的table控件中tablename 属性中却无法发现,?为什么?如何处理?
我想对EXCEL文件数据进行数据库的增、改等操作要怎么处理?
请写具体,谢谢。

解决方案 »

  1.   

    使用 ADO ,用 Jet 4.0 的驱动来链接 Excel 表 ;ADOTable :
       
       TableName : 选择相应的 Sheet ;
       TableDirect = True ;增改等同 , 用 Append  Edit 方法最后再提交 Post ;
      

  2.   

    建议使用ADOQuery,可以直接使用sql语句,而且不用设置Tablename属性,大多数属性和方法与table差不多。
      

  3.   

    可以用BDE实现,不过用ADO更容易一些。
    1。如果用BDE的Table,首先在ODBC中新建一个Excel数据源,假设为a,指向你要操作的数据表,然后在程序中联接数据库别名a,(我想你的问题是数据库联上后,却找不到表名,这个我也遇到过),有两种方法可以联接上,一种是你自己写表名,Excel默认为Sheet1$,Sheet2$,.....比如你用的是第一个工作薄,就应该在TableName上填Sheet1$;想直接在TableName内看以表名,需作如下工作:打开Excel工作薄,把你要操作的区域(应为矩形),点击菜单"插入"->"名称",自己命一个名,如tba,然后保存退出,这样,你在CB或Delphi中就可以直接在TableName内看到表名为tba了。2。用ADO,其实在使用时和BDE没有什么区别的,只是在联接那一块用ADO来代替BDE了(好处在移植性更好。),如果你对BDE控件有一些了解的话,ADO很容易实现的。用ADO联接Excel数据表,在那个联接向导的窗体上有几个页,第一个是提供者,你必须选择Microsoft....Jet 4.0,第二页是数据文件路径,就指向你的那个Excel表,第四页是一些设置属性,要联Excel,必须把Extended Propies改为Excel 8.0,这样就可以联接到Excel表了。   
      如果还有什么不明白,可以给我发邮件:[email protected].
       因为我以前给别人做一个软件,非得用到Excel数据表,把我痛苦了好长时间,最后终于明白了,希望别人不要走太多弯路。