excel导入sql数据库方法 excel导入sql数据库后看不到数据
创始人
2024-07-22 19:01:39
0

导读:在网上看到很多朋友在咨询excel导入sql数据库方法,那么今天就给大家分享一下实现的方法。先介绍一个思路:将excel文件上传到服务器,然后预览数据,可以对数据进行筛选,点击“导入”后将选择的数据导入到sql数据库中,最后把上传的文件从服务器上删除,释放空间。好了,接下来我们就按步骤来讲解excel导入sql数据库方法。

1、excel文件上传到服务器

我们采用函数的实现,代码如下:


call UploadFile(fName,FilePath)

Function UploadFile(fName,FilePath)

UpLoadFileType="xls|" //设置允许上传的文件类型
FileTypeErr=True
set upload=new upload_file
for each formName in upload.File
set file=upload.File(formName)
fName=file.FileName
FileExt=file.FileExt

if file.filesize<100 then
Response.Write ""
Response.end()
end if

UpLoadFile_ID=split(UpLoadFileType,"|")
for i=0 to ubound(UpLoadFile_ID)
if UpLoadFile_ID(i)=FileExt then
FileTypeErr=False
exit for
end if
next

if FileTypeErr=True then
Response.Write ""
Response.end()
end if

mapurl=trim(fName)
file.SaveToFile Server.mappath(mapurl) //保存文件
set file=nothing
next
set upload=nothing
FilePath=Server.mappath(mapurl) //将上传的文件路径赋值给FilePath
End Function

2、预览数据,选择数据导入到sql数据库中

我们采用函数的实现,代码如下:


call ExcelToSql(fName,FilePath)

Function ExcelToSql(ExName,FilePath,Mainbody)
Dim conn_xls
Dim StrConn_xls
Dim Rs
Dim Sql
Dim i

ExTName = "Sheet1"
On Error Resume Next
Set conn_xls =Server.CreateObject("ADODB.Connection")
StrConn_xls="Driver={Microsoft Excel Driver (*.xls)};DBQ="& Server.MapPath(""&ExName)
conn_xls.Open StrConn_xls

Set rs_xls = Server.CreateObject("ADODB.Recordset")
Sql="select * from ["&ExTName&"$]"
rs_xls.Open Sql,conn_xls ,3,3

If Err Then
err.Clear
Set conn_xls = Nothing
set rs_xls=nothing
Delete_UpLoadFile(FilePath)

Response.Write ""
Response.end()
End If

if rs_xls.eof then
Set conn_xls = Nothing
set rs_xls=nothing
Delete_UpLoadFile(FilePath)

Response.Write ""
Response.end()
else
i=1
mainbody=mainbody & "

"
mainbody=mainbody & ""
do while not rs_xls.eof

'由于excel在处理数据类型时,前面无法带0,补0操作
if len(Rs_xls(0))<10 then
cc=""
aa=10-len(Rs_xls(0))
for c=1 to aa
cc=cc & "0"
next
end if
payrollcode=cc & Rs_xls(0)

'如果导入的excel数据列有变化,请对程序做适当的修改

mainbody=mainbody & "

"
mainbody=mainbody & ""
mainbody=mainbody & ""
mainbody=mainbody & ""
mainbody=mainbody & ""
mainbody=mainbody & ""
mainbody=mainbody & ""

i = i +1
rs_xls.Movenext
Loop
end if
rs_xls.close
set rs_xls=nothing
conn_xls.close
set StrConn_xls=nothing
mainbody=mainbody & ""
mainbody=mainbody & "
 编号

姓名性别省份
"&payrollcode&""&Rs_xls(1)&""&Rs_xls(2)&""&Rs_xls(3)&"
 总数:"&i-1&"

"
mainbody=mainbody & ""

End Function

3、删除上传的excel文件

利用FSO组件删除


call Delete_UpLoadFile(FilePath)

Function Delete_UpLoadFile(FilePath)
Set Fso=server.createobject("scripting.filesystemobject")
If Fso.FileExists(FilePath) then
Fso.DeleteFile FilePath,true
End If
End Function

4、完整的excel导入sql数据库方法


if request("Action")="upload" then

call UploadFile(fName,FilePath)

call ExcelToSql(fName,FilePath)

call Delete_UpLoadFile(FilePath)

response.redirect "Request.asp"
Response.End

end if


需要注意的几个地方:

1、请参照example.xls文件的格式进行数据导入,如果excel数据列有增加,可以对程序做适当的修改
2、如果在导入数据时,提示“文件格式有误”,请检查ExTName指定的名称和excel文件里的sheet名称是否一致;excel文件是否是标准的excel文件格式。
3、确保FilePath在几个函数之间传输时,值不会丢失
4、该程序文件和excel文件在同一目录下,如果不在同一目录,在上传的路径地方做适当的修改
5、确保everyone对该目录有读写权限,这样在上传和删除文件时不会报错
6、在导入中文数据时,可能会出现乱码,中文变问号等情况,可以在读取数据的页面头加入下面的编码:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>

好了,上面就是excel导入sql数据库方法,对于一些初学者,看到这么多代码可能就晕,不要怕,找到规律之后,这些代码也就不难啦,希望大家通过我的介绍能对excel导入sql数据库有更多的了解。

【编辑推荐】

  1. 给数据减肥 让MySQL数据库跑的更快
  2. 安全配置MySQL数据库有妙招
  3. MySQL数据库存储引擎和分支现状

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...