关于将数据表中的数据输出到excel中的问题(100分)

  • 主题发起人 wangxl430
  • 开始时间
W

wangxl430

Unregistered / Unconfirmed
GUEST, unregistred user!
我希望将数据表中的数据输出到excel中,但又不想用ole方式
因为ole速度方式比较慢,而且还要要求用户必须安装excel。
如果使用ehlib或dxdbgrid的话,又不符合要求。因为我的excel文件
都是从一个模板建立的,数据的起始位置不是第一行。看了ehlib和
dxdbgrid的源码,但是看不懂,请问想我这种情况,不用ole方式能
完成么?如果能给出示范代码就更好了。
 
下载TEXCEL,可控制*.xls文件的R(x,y)
 
可是TEXCEL也要安装了EXCEL才可以啊。
而且我用GOOGLE搜索了一下,全都是很老的版本,最多支持到EXCEL97
现在至少都用EXCEL2000啦。
 
希望将数据表中的数据输出到excel中
那不装excel怎么行,
用delphi 中的Texcelapplication texcelworkbook
就可将数据输出到excel文件中,
 
用EXCELEXPORT
 
可以用Ado控件连接Excel,这样可以把它当作数据表一样来用。下面给你转载一篇相关的文章。

在DELPHI中使用ADO直接访问Excel数据文件
李战

摘 要:在DELPHI中使用ADO直接访问Excel数据文件
关键字:ADO Excel
类 别:数据库

  承蒙各位大鱼大虾的支持,终于顿悟。现在将心经写下来,让后来者提高修成正果的效率,早日成为大鱼大虾。
  要用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

投稿人:李战 投稿日期:2002-3-8 21:23:00

摘录自DFW已答记录中
 
先谢谢以上各位。
关于使用ADO操作EXCEL的问题,我是知道的。
不过对于我的情况,我有一个问题不会解决。
我的EXCEL文件每次都根据一个模板文件来动态生成,每次声称的文件名
都是不同的。这样的话,ADOCONNECTION的ConnectionString如何处理呢?
如果能解决这个问题的话,也好办了。
 
可以动态连接呀!即动态设置ConnectionString的值,如原来的Data Source=MyExcelFile.xls
则现在的Data Source=File.xls。
 
也可用kadao来直接输出,但只能为3.0版本的。
可输入数据为tab作分隔符的扩展名为xls的文件
再不然看msdn中对于excel中文件结构的描述,直接写内部的数据。
 
我给你个控件 很好用的:::dataexport 可以在 www.playicq.com上下载!!!
 
顶部