如何将excel文件内容导入到clientdataset(100分)

  • 主题发起人 主题发起人 jonson
  • 开始时间 开始时间
J

jonson

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位大虾,如何将excel文件内容导入到clientdataset,
小弟非常感谢。
 
用ADODataSet。
 
查一查以前的帖子,有很多讲ADO和excel的。
 
请问如何将Excel表格的sheet1、sheet2增加的combobox1
 
转贴:

要用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

最后,将用户名设为Admin,密码为空。测试连接,应该能够成功。

  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,打开ADOConnection。
 
注:设置扩展属性Extended Properties为“Excel 8.0”即在ConnectionString的各项都设好以后,在那个长长的String后加上Extended Properties=Excel 8.0,注意前面不要忘了分号。
然后再点‘build’,测试连接,ok。

然后操作ADOtable,和table一样用,怎么增加到ComboBox不用我教吧!
 
上面问题已明白,
请问如何将Excel表格的sheet1、sheet2增加的combobox1
谢谢
 
adotable1.Close;
adotable1.TableName:='sheet1$';
adotable1.Open;
adotable1.First;
while not adotable1.Eof do
begin
combobox1.Items.Add(adotable1.Fields[0].AsString);
adotable1.Next;
end;
 

Similar threads

回复
0
查看
848
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
835
SUNSTONE的Delphi笔记
S
S
回复
0
查看
765
SUNSTONE的Delphi笔记
S
后退
顶部