好奇怪的问题,作了筛选后的excel就无法打开导入了
原始的excel是能正常导入的,但是在excel里做了筛选的操作后(即便是取消了)就导入不成功了,一直提示:
Microsoft JET Database Engine 错误 '80040e37'
Microsoft Jet 数据库引擎找不到对象'Sheet1$_'。请确定对象是否存在,并正确地写出它的名称和路径。
把excel里的数据全选复制到一个新excel表里再导入的话又成功了。有人知道是什么问题吗,弄了好久都不得...
代码段落:
set excel_conn=CreateObject("ADODB.Connection")
excel_conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../web_up_file/upexcel.xls")&";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
set t_name=excel_conn.openSchema(20)
if not t_name.eof then
do while not t_name.eof
''excel表数据导入数据库
'response.write t_name("table_name") &"<br>"
Set ers = Server.CreateObject("ADODB.Recordset")
'Sql="select * from [Sheet1$]"
Sql="select * from ["& t_name("table_name")&"]"
ers.Open Sql,excel_conn,2,2
do while not ers.eof
if getstring(ers(0))<>"nothing" then
set rs=getRecord("Dms_Data")
rs.addnew
rs("Times")=fixedid(upload.form("times"))
'rs("PKID")=ers(0)
rs("CTID")=ers(0) '帐户编号
rs("phone")=ers(2) '用户号码
rs("CustomerName")=ers(1) '客户名称
rs("CardNo")=ers(5) '身份证号码
'rs("UseAddress")=ers(19)
rs("Address")=ers(4) '联系地址
rs("Tel")=ers(3) '联系电话
rs("ProductName")="移动"
rs("OwesMoney")=fixedid(ers(8)) '本金
rs("Penalty")=0 '违约金
rs("TotalMoney")=rs("OwesMoney") + rs("Penalty")
'rs("State")=ers(5)
'rs("StateDate")=ers(6)
rs("Raid")=ers(6) '最早欠费月
rs("OwesNo")=ers(7) '最晚欠费月
rs("InputDate")=date()
if getstring(upload.form("Person"))<>"nothing" then
rs("Person")=upload.form("Person")
end if
rs.update
rs.close
set rs=nothing
end if
ers.movenext
loop
set ers=nothing
t_name.movenext
loop
else
call showError("请确认上传的excel中存在数据表","")
response.end
end if