如何把电子表格文件导入,在dbgrid中显示呢 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用jet4.0引擎连接execl文件,用adoQuery查询--〉绑定DBGrid 转一篇相关文章:—————————————————————————————————————— 承蒙各位大鱼大虾的支持,终于顿悟。现在将心经写下来,让后来者提高修成正果的效率,早日成为大鱼大虾。 要用DELPHI中的ADO系列控件访问Excel数据文件,首先应该建立一些基本概念。你需要将一个Excel数据文件想象为一个关系数据库,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=False 2.设置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 纠错:给pbyte变量赋值出错。错误:Missing operator or semicolon 简单线程问题,谁能帮忙解决下? 求一个SQL语句? @@@@@@ $ 这段代码还可以如何改进 $ @@@@@@ 数据判断为空出错! 大哥们,你们给我的vclzip控件不能装呀,好像少了vclzip.pas文件 在线~~~~~~ 高手请指教想在TStringGrid控件中实现当鼠标拖动时鼠标形状变形当停止拖动时鼠标形状回复原状怎么办 怎麼在delphi中操作excel文件 请问cocombox如何设置显示的字符? 广播消息 请问FASTREPORT中如何纵向生成表格打印?(急!)
——————————————————————————————————————
承蒙各位大鱼大虾的支持,终于顿悟。现在将心经写下来,让后来者提高修成正果的效率,早日成为大鱼大虾。
要用DELPHI中的ADO系列控件访问Excel数据文件,首先应该建立一些基本概念。你需要将一个Excel数据文件想象为一个关系数据库,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=False 2.设置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