用代码将Excel数据导入Sql Server
这里直接用小例子说明。
1、打开VS2010—>文件—>新建—>网站,选择ASP.NET空网站并设置存放路径以创建空网站。(我这里路径设置为D:\excelEduceToSql)
2、创建数据库test并在test数据库中创建my_test表(我这里在excelEduceToSql文件夹中创建SQL文件夹并将数据库保存在里面)。
(表的字段如下:)
tid(int)
tname(nvarchar(50))
tt(nvarchar(50))
3、创建Excel表(我这里的Excel表的文件名为test.xls)。要注意的是:Excel中第一行是定义的是列名,从第2行开始才是数据,通过Sql语句从Excel中读取到的数据也是 从第二行开始的。
(Excel表设计如下:)
编号 姓名 备注
1 a aa
2 b bb
3 c cc
4、在第1步的基础上右键—>添加新项,选择Web窗体并命名(我这里按默认的名称Default.aspx)。在设计页面中双击或拉取左边工具箱中的button控件并修改右边属性 中的Text属性为“导入”,双击导入按钮进入Default.aspx.cs文件的代码编写。
5、代码编写如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public SqlConnection con()
{
return new SqlConnection("server=.;uid=sa; pwd=sa;database=test");这里需要注意的是server、uid、pwd、database分别为你的数据库。
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection mycon = con();
string sqlstr="insert into my_test select * from OPENROWSET(‘MICROSOFT.JET.OLEDB.4.0‘,‘Excel 8.0;HDR=YES;DATABASE=D:\\excelEduceToSql\\Excel\\test.xls‘,sheet1$)";这里需要注意的是Excel文件的路径需要用双斜杠来分隔,否则会出错。
SqlCommand cmd = new SqlCommand(sqlstr, mycon);
mycon.Open();
cmd.ExecuteNonQuery();
mycon.Close();
}
}
6、在Sql Server中点击新建查询,输入如下代码并点击执行:
exec sp_configure ‘show advanced options‘,1
reconfigure
exec sp_configure ‘Ad Hoc Distributed Queries‘,1
reconfigure
go
7、Ctrl+F5运行即可。这里需要注意的是运行是不可打开Excel文件,否则会报错。
若有错误请指出或直接联系本人QQ:953276191
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。