首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么将EXCEL文件数据导入SQLSERVER中

2011-12-28 
如何将EXCEL文件数据导入SQLSERVER中?小弟现又碰到了一个难题,即不知如何将EXCEL文件导入至SQLSERVER中。本

如何将EXCEL文件数据导入SQLSERVER中?
小弟现又碰到了一个难题,即不知如何将EXCEL文件导入至SQLSERVER中。

本人思路是: 在网络页面添加一个Upload控件和Button控件,通过点击Upload控件选择要导入的EXCEL文件,然后点击Button

按钮实现将文件数据导入SQLSERVER已建立的表中的功能,并删除刚才上传的EXCEL文件。

由于本人初学不久,对编程不是很熟悉,希望有过这方面经验的高手积极帮助一下小弟!最好能够提供c#的代码参考一下,谢谢!!

[解决办法]
protected void Button2_Click(object sender, EventArgs e) 

try 


//开始导入
//建立EXCEL的连接 
OleDbConnection objConn = new OleDbConnection(sConnectionString); 
objConn.Open(); 
string sqlStr = "select * from [Sheet1$]"; 
OleDbCommand myCmd = new OleDbCommand(sqlStr, objConn); 
OleDbDataAdapter myda = new OleDbDataAdapter(myCmd); 
DataSet myDs = new DataSet(); 
myda.Fill(myDs, "Temp"); 
DataGrid1.DataSource = myDs; 
try 

string strConn = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]; 
SqlConnection mySqlConn = new SqlConnection(strConn); 
mySqlConn.Open(); 
string strCmd = ""; 
int rows = myDs.Tables[0].Rows.Count; 
int cols = myDs.Tables[0].Columns.Count; 
int k = 0; 
string a = ""; 
string chongfu = ""; 
for (int i = 0; i < rows; i++) 

a = myDs.Tables[0].Rows[i].ItemArray[0].ToString(); 
string strSql = "select * from studys where idkey= "" + myDs.Tables[0].Rows[i].ItemArray[0].ToString() + " ""; 
SqlDataAdapter myAda = new SqlDataAdapter(strSql, mySqlConn); 
myAda.Fill(myDs, "Temp"); 
if (myAda.Fill(myDs, "Temp") != 0) 
{
k += 1; 
chongfu += "," + myDs.Tables[0].Rows[i].ItemArray[0].ToString(); 

else 

strCmd = "insert into Studys (idkey,title,who,describe,place,begindate,enddate) values( ""; 
for (int j = 0; j < cols; j++) 

if (j == 0) 



strCmd = strCmd + myDs.Tables[0].Rows[i].ItemArray[j].ToString(); 

else 

strCmd += " ", "" + myDs.Tables[0].Rows[i].ItemArray[j].ToString(); 


strCmd += " ")"; 
//strCmd = " select * into studys from opendatasource ( "Microsoft.Jet.OLEDB.4.0 ", "Data Source=" + File1.PostedFile.FileName.ToString() + ";User ID=sa;Password=;HDR=YES;Extended Properties=Excel 8.0;Persist Security Info=false ")...sheet1$"; 

//try 
// { 
SqlCommand mySqlCmd = new SqlCommand(strCmd, mySqlConn); 
mySqlCmd.ExecuteNonQuery(); 
// } 
// catch (System.Data.SqlClient.SqlException ex) 
// { 
// Label1.Text = "导入出错,可能字段类型不匹配" + "出错在第" + myDs.Tables[0].Rows[i].ItemArray[0].ToString() + "行"; 
// } 


mySqlConn.Close(); 
objConn.Close(); 
Label1.Text = "当前Excel文件中有" + k + "条记录与Sql数据库中的记录重复"; 
Label2.Text = "重复的记录为" + chongfu; 
BindGrid();//在页面显示出来 

catch (System.Data.SqlClient.SqlException ex) 

Label1.Text =ex.Message ; 


catch (System.Data.OleDb.OleDbException ex) 

Label1.Text = "请确保excel文件版本及路径正确,并现未被访问!操作未被进行"; 
return; 

}

热点排行