excel导入sql数据库方法

导读:在网上看到很多朋友在咨询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 “<script>”
Response.Write “alert(‘文件地址不能为空’);”
Response.Write “location.href= ‘Request.asp’;”
Response.Write “</script>”
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 “<script>”
Response.Write “alert(‘文件类型错误’);”
Response.Write “location.href= ‘Request.asp’;”
Response.Write “</script>”
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 “<script>”
Response.Write “alert(‘文件格式有误’);”
Response.Write “location.href= ‘Request.asp’;”
Response.Write “</script>”
Response.end()
End If

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

Response.Write “<script>”
Response.Write “alert(‘Excel文件中无数据’);”
Response.Write “location.href= ‘Request.asp’;”
Response.Write “</script>”
Response.end()
else
i=1
mainbody=mainbody & “<table width=””100%”” border=””0″” cellspacing=””1″” cellpadding=””0″” class=””border””>”
mainbody=mainbody & “<tr class=””title””><td height=””20″” width=””10%”” align=””center””>&nbsp;</td><td height=””20″” width=””30%”” align=””center””>编号

</td><td width=””20%”” align=””center””>姓名</td><td width=””20%”” align=””center””>性别</td><td width=””20%”” align=””center””>省份</td></tr>”
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 & “<tr class=””tdbg”” onMouseOut=””this.className=’tdbg'”” onMouseOver=””this.className=’tdbg2′””>”
mainbody=mainbody & “<td height=””20″” align=””center””><input type=””checkbox”” name=””ID”&i&””” value=””ON”” checked></td>”
mainbody=mainbody & “<td align=””center””>”&payrollcode&”<input type=””hidden”” name=””payrollcode”&i&””” value=”&payrollcode&”></td>”
mainbody=mainbody & “<td align=””center””>”&Rs_xls(1)&”<input type=””hidden”” name=””cname”&i&””” value=”””&trim(Rs_xls(1))&”””></td>”
mainbody=mainbody & “<td align=””center””>”&Rs_xls(2)&”<input type=””hidden”” name=””***”&i&””” value=”””&trim(Rs_xls(2))&”””></td>”
mainbody=mainbody & “<td align=””center””>”&Rs_xls(3)&”<input type=””hidden”” name=””shengfen”&i&””” value=”””&trim(Rs_xls(3))&”””></td>”
mainbody=mainbody & “</tr>”

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 & “<tr class=””tdbg””><td height=””20″” colspan=””10″”>&nbsp;总数:”&i-1&”</td></tr>”
mainbody=mainbody & “</table><p align=””center””><input type=””submit”” name=””B1″” value=”” 导 入 “” class=””Inputbtn””></p>”
mainbody=mainbody & “<input type=””hidden”” name=””i”” value=”&i&”><input type=””hidden”” name=””FilePath”” value=”&FilePath&”>”

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数据库存储引擎和分支现状

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/249037.html<

(0)
管理的头像管理
上一篇2025-04-27 20:57
下一篇 2025-04-27 20:59

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注