把Excel表导入SQL数据库的两种方法
SQLServer自身就有导入功能的
1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,弹出DTS导入/导出向导,按 下一步 ,
2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 ,
3、 选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 , 4、选择 用一条查询指定要传输的数据,按 下一步 ,
5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 ,
6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中 order by 后面所跟的列,按 下一步 ,
7、如果要全部导入,则选择 全部行,按 下一步,
8、则会看到根据前面的操作生成的查询语句,确认无误后,按 下一步, 9、会看到 表/工作表/Excel命名区域 列表,在 目的 列,选择要导入数据的那个表,按 下一步,
10、选择 立即运行,按 下一步,
11、会看到整个操作的摘要,按 完成 即可。
将EXCEL的数据提出放在数据集中,在通过循环将从表插入 <%
'On Error Resume Next
'导入Excel电子表格数据到SQL Sever数据库
Open_Conn(SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName,SqlCon
n)
'创建数据库连接对象并打开数据库连接 Dim ConnStr
'SQL Server数据库连接参数:数据库名、用户密码、用户名、连接名(本地用local,外地用IP)
ConnStr = \"Provider=Sqloledb; User 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 If End
Close_Conn(SqlConn)
'关闭数据库连接并清除数据库连接对象 If IsObject(SqlConn) Then SqlConn.Close Set SqlConn = Nothing End If End
Call Open_Conn(\"Shat_EDG\'打开本地SQL Server数据库连接
Call Open_Conn(\"Shat_EDG\'打开远程SQL
Server数据库连接
Get_EMP_CnName(NTACCNT) '根据用户NT帐号得到用户中文名 Dim Sql1,Rs1 Sql1
=
\"Select
EMP_CNAME
From
RF_EMPLOYEE
Where
EMP_NTACCNT='\"&NTACCNT&\"'\"
Set Rs1 = Server.CreateObject(\"Adodb.RecordSet\") Rs1.Open Sql1,SqlConn1,1,1 If Rs1.Eof Then Get_EMP_CnName = \"\" Else
Get_EMP_CnName = Rs1(\"EMP_CNAME\") End If Rs1.Close
Set Rs1 = Nothing End %>
导入Excel电子表格数据到SQL Sever数据库 导入Excel电子表格数据到SQL Sever数据库 导出过程中请不要刷新页面!
<%
If Trim(Request(\"Table1\")) <> \"\" Then Dim Sql,Rs
Sql = \"Select * From Sheet1$\" 'Sheet1$是我们实现用SQL Server自身数据转换功能得到的表名
Set Rs = SqlConn.Execute(Sql) If Rs.Eof And Rs.Bof Then
Response.write \"没有找到您需要的数据!!
\" Else
Do While Not Rs.Eof SqlInsert
=
\"Insert
Into
\"&Trim(Request(\"Table1\"))&\"
(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) s ('\"&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
'此处插入的值根据实际数据库结构进行调整
SqlConn1.Execute(SqlInsert)'插入Excel表格裏所有东东 Rs.MoveNext Loop
Response.Write \"恭喜,成功导出数据!^_^
\" End If
Rs.Close
Set Rs = Nothing End If
Call Close_Conn(SqlConn) '关闭Excel数据库连接 Call Close_Conn(SqlConn1) '关闭SQL Server数据库连接 %>