求助:怎样把数据从execl导入到access的程序!!急!!!

huangweizhao 2006-04-28 09:07:19
<%
dim conn
dim conn2
set conn=server.CreateObject("ADODB.Connection")
set conn2=CreateObject("ADODB.Connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0;data source=G:\book1.mdb"
conn.open
'conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Data Source=G:\book1.mdb"
conn.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=g:\book1.xls;Extended Properties=Excel 8.0;HDR=Yes;"
conn2.open

' conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Extended properties=Excel 5.0;Data Source=G:\book1.xls"

sql = "SELECT * FROM [Sheet1$]"
set rs = conn2.execute(sql)
while not rs.eof
sql = "insert into xxx(学号,姓名,性别,年龄) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')"
conn.execute(sql)
rs.movenext
wend
response.Write(aa)

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

function fixsql(str)
dim newstr
newstr = str
if isnull(newstr) then
newstr = ""
else
newstr = replace(newstr,"'","''")
end if
fixsql = newstr
end function
%>

以上程序怎么不能把execl中的数据导入access中?
xxx表:学号 姓名 性别 年龄
book.xls中的数据:学号 姓名 性别 年龄
1 aaa 男 12
2 bbb 女 13
3 ccc 男 14
4 ddd 男 15

想了很久都想不到合适的方式!!
谢谢!
...全文
158 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
anwell 2006-04-29
  • 打赏
  • 举报
回复
这是我的代码:

<%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("test.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("1143509085629.xls")


sql = "SELECT * FROM [shett1$]"
set rs = conn2.execute(sql)
while not rs.eof
sql = "insert into 200501GK([CORP_CODE],[GB],[CORP_NAME],[UNIT],[BZ],[PEDM]) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"','"&fixsql(rs(4))&"',"&fixsql(rs(5))&")"
'response.write sql
'response.end
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 "导入成功"
Else
Response.Write "导入失败!"
End If

function fixsql(str)
dim newstr
newstr = str
if isnull(newstr) then
newstr = ""
else
newstr = replace(newstr,"'","''")
end if
fixsql = newstr
end Function
%>
mhxz5680 2006-04-29
  • 打赏
  • 举报
回复
<%
dim conn
dim conn2
set conn=CreateObject("ADODB.Connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("book1.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=E:\mhxz\book.xls"


sql = "select * FROM [Sheet1$]"
set rs = conn2.execute(sql)
while not rs.eof
sql = "insert into xxx(学号,姓名,性别,年龄) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')"
conn.execute(sql)
rs.movenext
wend

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

function fixsql(str)
dim newstr
newstr = str
if isnull(newstr) then
newstr = ""
else
newstr = replace(newstr,"'","'")
end if
fixsql = newstr
end function
%>

以上是调试成功的代码


book1.mdb 路径在E:\mhxz\book1.mdb
book.xls 路径在E:\mhxz\book.xls

book1.mdb 中 表xxx的字段设计如下:
学号 数字 主键
姓名 文本(50)
性别 文本(1)
年龄 数字

book.xls中的数据:学号 姓名 性别 年龄
1 aaa 男 12
2 bbb 女 13
3 ccc 男 14
4 ddd 男 15


楼主还有什么问题吗?
huangweizhao 2006-04-28
  • 打赏
  • 举报
回复
这里: conn.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=g:\book1.xls;Extended Properties=Excel 8.0;HDR=Yes;" 的conn改为conn2

28,402

社区成员

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

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