关于Excel数据导入Access中的问题

txneo001 2009-06-24 10:13:39
如题:我在Excel数据导入Access中只能导入Excel表的第一行数据。希望各位高手帮忙解决下我得问题。万分感谢!

代码如下:
<%
if request.QueryString("action") = "save" then
dim conn
dim conn2
'On Error Resume Next
Server.ScriptTimeOut = 999999
set conn=CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source="&Server.MapPath("a.mdb")
set conn2=CreateObject("ADODB.Connection")
conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source="&Server.MapPath("b.xls")

sql = "Select * FROM [Sheet1$]"

set rs = conn2.execute(sql)
while not rs.eof
sql = "insert into a ([a],[b],[c],[d],[e],[f],[g]) values ('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"','"& fixsql(rs(4)) &"','"& fixsql(rs(5)) &"','"& fixsql(rs(6)) &"')"
conn.execute(sql)
rs.movenext
Response.Write sql&"<Br>"
Response.Flush
wend

conn.close
set conn = nothing
conn2.close
set conn2 = Nothing

If Err = 0 Then
Response.Write "success"
Else
Response.Write "fail!"
End If

end if
function fixsql(str)
dim newstr
newstr = str
if isnull(newstr) then
newstr = ""
else
newstr = replace(newstr,"'","''")
end if
fixsql = newstr
end Function
%>
...全文
55 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzp4881 2009-06-24
  • 打赏
  • 举报
回复
数据里面有数值吧,你的字段都是字符型,如果excel里面的数据是数值,就导不进去.
txneo001 2009-06-24
  • 打赏
  • 举报
回复
已解决,原因是因为当数值为空时会出现错误导致下面的数据无法导入
过滤一下数据就能完成导入了。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧