如何把已经存在的EXCEL表 导到SQL SERVER 7里面 我的程序要求是 把数据库(SQL SERVER)以外的数据(EXCEL)导进去用ADOCONNECT连接 我该怎么用呢? 好象执行什么SQL语句吧但我不清楚 请指教一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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连好后,自己写一些插入的循环语句就可以插入另一个表了。 如果用程序就如同楼上,但是用SQL本身的更好。 先存为DBF格式,在用SQL导入比较方便 1 SQL本身带有这种功能啊2 IUPRG(遨云驰行,琢符弄图) de办法3 uses comobj; try eclApp := CreateOleObject('Excel.Application'); WorkBook :=CreateOleObject('Excel.Sheet'); except showmessage('您系统未安装MS-EXCEL'); exit; end; try workBook :=eclApp.WorkBooks.add ; eclApp.workBooks.open(OpenDialog1.FileName ); Form1.Caption:=OpenDialog1.FileName; except on EOleException do begin WorkBook.close; eclApp.quit; eclApp:=Unassigned; exit; end; end;获取第i行,第j列的内容tempstr:=eclApp.activesheet.cells.item[i,j].value; 程序报‘out of memory’,如何释放内存 怎样直接调用twain.dll(最多两天结贴) delphi7怎样怎样制作在线升级?? 感谢李兄,敬请李兄来拿分! 大家帮我看看这是怎么回事? 高手帮我! delphi中有没有象C&C++中的static变量,我想在一个函数中申明一个这样的变量,要不我只好定义全局变量了:( TImage滚动时为什么会总是闪烁,怎么解决,望高手帮忙! 各位大侠帮个忙 如何判断对象是属于某一类? 请问一个有关borland database engine问题 请问,在局域网中,计算机A一次传送5M的二进制计算机B,通过网线怎么办到呀?请教请教...
构造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
连好后,自己写一些插入的循环语句就可以插入另一个表了。
2 IUPRG(遨云驰行,琢符弄图) de办法
3 uses comobj; try
eclApp := CreateOleObject('Excel.Application');
WorkBook :=CreateOleObject('Excel.Sheet');
except
showmessage('您系统未安装MS-EXCEL');
exit;
end; try
workBook :=eclApp.WorkBooks.add ;
eclApp.workBooks.open(OpenDialog1.FileName );
Form1.Caption:=OpenDialog1.FileName;
except
on EOleException do
begin
WorkBook.close;
eclApp.quit;
eclApp:=Unassigned;
exit;
end;
end;
获取第i行,第j列的内容
tempstr:=eclApp.activesheet.cells.item[i,j].value;