用vb导excel中数据到mssql中,由於excel版本出现的问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:02:31
我用vb导excel中的数据到mssql中时,使用语句如下:
Dim strSQL As String
Dim cn As New Connection
cn.Open "Provider=Microsoft.JET.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + "d:\" + Trim(Replace(CStr(Format(Date, "yyyy/MM/dd")), "/", "")) + ".xls;"
strSQL = "insert INTO [odbc;Driver={SQL Server};Server=info5;Database=treasure;UID=sa;PWD=;].stang SELECT * FROM [" + Trim(Replace(CStr(Format(Date, "yyyy/MM/dd")), "/", "")) + "$]"
cn.Execute strSQL
cn.Close
由於excel文件版本是2.1的,本机装的excel是2003版本
在不手动更改excel文件的版本的前提下
如何能解决这个问题
重新帮我找个代码段或者其他任何办法都行
当我按ctrl+s保存之后,会跳出
20080920.xls是Microsoft Excel 2.1工作表。您要将它更新成目前版本的档案吗?
如果我保存了
则可以链接读取excel中的数据
如果不保存
则还是老样子
注:我的excel是繁体的。词句或许跟简体的不一样
回覆1楼:
我也知道那里出了问题
从1.0到11.0都试过了
不行
97,98,2000,2003也试过了
不行
提示错误如下:

Trim(Replace(CStr(Format(Date, "yyyy/MM/dd")), "/", ""))

我的电脑上运行后结果是:2008-9-20
所以excel工作表名称不知道是不是 [2008-9-20$]
楼主原来是不是想替换为 [20080920$] 这是工作表名,但代码中好像没替换成功

cn.Open "Provider=Microsoft.JET.OLEDB.4.0;Extended Properties=Excel 8.0;

感觉应该在这句中改一下