导入Excel电子表格数据到SQL Sever数据库的方法

导入Excel电子表格数据到SQL Sever数据库的方法,第1张

完整代码如下 <% On Error Resume Next 导入Excel电子表格数据到SQL Sever数据库 By Dicky : : Function Open_Conn(SqlDatabaseName SqlPassword SqlUsername SqlLocalName SqlConn) 创建数据库连接对象并打开数据库连接 Dim ConnStr SQL Server数据库连接参数 数据库名 用户密码 用户名 连接名(本地用local 外地用IP) ConnStr = Provider=SqloledbUser ID= &SqlUsername &Password= &SqlPassword &Initial Catalog = &SqlDatabaseName &Data Source= &SqlLocalName & Set SqlConn = Server CreateObject( ADODB Connection ) SqlConn Open ConnStr If Err Then Err Clear Set SqlConn = Nothing Response Write 数据连接错误!  Response End End IfEnd FunctionFunction Close_Conn(SqlConn) 关闭数据库连接并清除数据库连接对象 If IsObject(SqlConn) Then SqlConn Close Set SqlConn = Nothing End IfEnd FunctionCall Open_Conn( Shat_EDG sa (local) SqlConn) 打开本地SQL Server数据库连接Call Open_Conn( Shat_EDG sa ssh SqlConn ) 打开远程SQL Server数据库连接Function Get_EMP_CnName(NTACCNT) 根据用户NT帐号得到用户中文名 Dim Sql Rs Sql = Select EMP_CNAME From RF_EMPLOYEE Where EMP_NTACCNT= &NTACCNT& Set Rs = Server CreateObject( Adodb RecordSet ) Rs Open Sql SqlConn If Rs Eof Then Get_EMP_CnName = Else Get_EMP_CnName = Rs ( EMP_CNAME ) End If Rs Close Set Rs = NothingEnd Function %><><head><title>导入Excel电子表格数据到SQL Sever数据库</title><body bgcolor= #ACD AF ><center><b>导入Excel电子表格数据到SQL Sever数据库</b></center><FORM METHOD= POST name= form >请选择数据源(本地库):<SELECT NAME= Table title= 请选择需要导入数据的表 ><option></option><% Dim RsSqlDatabaseTable Set RsSqlDatabaseTable = SqlConn OpenSchema( ) Do While Not RsSqlDatabaseTable Eof %><option<%If Trim(Request( Table ))=RsSqlDatabaseTable( ) Then Response Write selected %>><%=RsSqlDatabaseTable( )%></option><% RsSqlDatabaseTable MoveNext:Loop Set RsSqlDatabaseTable = Nothing %></SELECT><input type=submit name=submit value= 开始导出 ><br>请选择目标表(远程库):<SELECT NAME= Table title= 请选择需要导入数据的表 ><option></option><% Dim RsSqlDatabaseTable Set RsSqlDatabaseTable = SqlConn OpenSchema( ) Do While Not RsSqlDatabaseTable Eof %><option<%If Trim(Request( Table ))=RsSqlDatabaseTable ( ) Then Response Write selected %>><%=RsSqlDatabaseTable ( )%></option><% RsSqlDatabaseTable MoveNext:Loop Set RsSqlDatabaseTable = Nothing %></SELECT></FORM><font color=blue>导出过程中请不要刷新页面!</font><br><%If Trim(Request( Table )) <>Then Dim Sql Rs Sql = Select * From Sheet $   Sheet $是我们实现用SQL Server自身数据转换功能得到的表名 Set Rs = SqlConn Execute(Sql) If Rs Eof And Rs Bof Then Response write 没有找到您需要的数据!!<br> Else Do While Not Rs Eof  SqlInsert = Insert Into &Trim(Request( Table ))&(EDG_Project_Name EDG_Project_No EDG_Project_VM EDG_Project_VM_CnName EDG_Project_M EDG_Project_M_CnName EDG_Project_Director EDG_Project_Director_CnName) Values ( &Trim(Rs( 工程名称 ))&&Trim(Rs( 工程编号 ))&&Trim(Rs( 项目副理 ))&&Trim(Rs( 项目副理 ))&( &Get_EMP_CnName(Trim(Rs( 项目副理 )))&) &&Trim(Rs( 项目经理 ))&&Trim(Rs( 项目经理 ))&( &Get_EMP_CnName(Trim(Rs( 项目经理 )))&) &&Trim(Rs( 项目总监 ))&&Trim(Rs( 项目总监 ))&( &Get_EMP_CnName(Trim(Rs( 项目总监 )))&) &)  Response Write SqlInsert  此处插入的值根据实际数据库结构进行调整  SqlConn Execute(SqlInsert) 插入Excel表格里所有东东 Rs MoveNext Loop Response Write <font color=red>恭喜 成功导出数据!^_^</font><br> End If Rs Close Set Rs = NothingEnd IfCall Close_Conn(SqlConn) 关闭Excel数据库连接Call Close_Conn(SqlConn ) 关闭SQL Server数据库连接 %></body></>lishixinzhi/Article/program/net/201311/12903

可用第三方来导数据,参考spire.xls for .net的数据导入方法:

//创建Workbook对象并加载Excel文档

Workbook workbook = new Workbook()

workbook.LoadFromFile(@"F:\ExportData.xlsx" , ExcelVersion.Version2013)

//获取第一张sheet

Worksheet sheet = workbook.Worksheets[0]

//设置range范围

CellRange range = sheet.Range[sheet.FirstRow, sheet.FirstColumn, sheet.LastRow, sheet.LastColumn]

//输出数据, 同时输出列名以及公式值

DataTable dt = sheet.ExportDataTable(range, true, true)

代码参考自原文。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6423384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存