delphi中如何向已存在的EX
很久没来了。看你的悬赏很高,说两句。“在不打开EXCEL文件的情况下可以插入数据吗?”,这很难,我实在不会。告诉你个打开它,加入数据的方法,使用 设置ADOConnection的ConnectionString构造ConnectionString时,OLEDB的提供者要选择MicrosoftJet4。 0OLEDBProvider作为ADO的驱动程序。这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件。连接的数据库名称当然就是你要打开的Excel文件,注意扩展名是*。xls。 最关键的一点是,还要设置扩展属性ExtendedProperties为“Excel8。0”...全部
很久没来了。看你的悬赏很高,说两句。“在不打开EXCEL文件的情况下可以插入数据吗?”,这很难,我实在不会。告诉你个打开它,加入数据的方法,使用 设置ADOConnection的ConnectionString构造ConnectionString时,OLEDB的提供者要选择MicrosoftJet4。
0OLEDBProvider作为ADO的驱动程序。这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件。连接的数据库名称当然就是你要打开的Excel文件,注意扩展名是*。xls。
最关键的一点是,还要设置扩展属性ExtendedProperties为“Excel8。0”,否则,测试连接时会报告无法识别数据格式的错误。ExtendedProperties的属性值在“所有”参数页中输入。
最后,设置完成后的ConnectionString中的各项参数为:Provider=Microsoft。Jet。OLEDB。4。0DataSource=aaa。xlsExtendedProperties=Excel8。
0PersistSecurityInfo=False2。设置ADODataSet或ADOTable将ADODataSet或ADOTable连接到刚才的ADOConnection。如果不用ADOConnection,也可以参照上面的方法直接设置ADODataSet或ADOTable的ConnectionString属性。
对于ADODataSet,需要将CommandType属性设置为cmdTableDirect,而对于ADOTable,则将TableDirect属性设置为True。因为,访问Excel文件是直接的数据文件访问,不是通过SQL语句来操作游标访问的。
如果不设置直接访问,则系统会报告SQL语句格式错误等信息。然后,当你下拉ADODataSet中的CommandText属性或ADOTable的TableName属性时,就可以选择到要打开的工作表了。
注意,表名后面加一个$符号。缺省地,认为第一行保存的是字段名,如果没有标题,则ado自动添加一个Fx(x为列号)。3。数据编辑:可以任意编辑数据,但不允许修改公式项。不允许删除记录(表中的一行),变通的方法是改为空值。
可以使用insert语句添加新记录。向电子表格中插入数据:INSERTINTO[Sheet1$]IN"aaa。Xls""Excel8。0;"SELECTxingming,zhuzhiFROMtestexc(表格中必须有xingming,zhuzhi两个列)。
SELECT*INTO["Excel8。0;Database=aaa。xls"]。[Sheet4]FROMtestexc将把表testexc的内容写到aaa。xls中的新单元sheet4中。不知道你是否明白。
收起