首页 > 代码库 > .NET导入Excel到SQL数据库
.NET导入Excel到SQL数据库
在我们开发各类应用型系统,经常会遇到导入导出Excel,为什么会用到他呢?企业或者单位在从无信息化到信息化的一个转变过程。在没有信息化的企业或单位之前,一般都采用Excel来记录相应的数据,做统计计算的作用,那么当企业或单位实施信息化之后必然会将原有数据导入到系统中去存储与分析。那么作为程序员就必然面临一个将数据导入数据库的功能,下面针对此类情况作如下概述。
在ASP.NET的B/S架构下,去导入Excel。
举例来说:
我们需要导入员工信息表到数据库中。Excel格式如下:
那么在我们了解了这个之后,下面就是在ASP.NET中通过button来触发导入事件的发生。
protected void btnChange_Click(object sender, EventArgs e) { UserInfoClass tClass = (UserInfoClass)Session["UserInfo"]; string tLanguageType = tClass.Language;//获取文件路径 string filePath = this.file1.PostedFile.FileName; if (filePath != "") { if (filePath.Contains("xls"))//判断文件是否存在 { InputExcel(filePath); } else { MessageBox.Show("请检查您选择的文件是否为Excel文件!谢谢!"); } } else { MessageBox.Show("请先选择导入文件后,再执行导入!谢谢!"); } } private void InputExcel(string pPath) { string conn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + pPath + ";Extended Properties=‘Excel 8.0;HDR=False;IMEX=1‘"; OleDbConnection oleCon = new OleDbConnection(conn); oleCon.Open(); string Sql = "select * from [Sheet1$]"; OleDbDataAdapter mycommand = new OleDbDataAdapter(Sql, oleCon); DataSet ds = new DataSet(); mycommand.Fill(ds, "[Sheet1$]"); oleCon.Close(); int count = ds.Tables["[Sheet1$]"].Rows.Count; for (int i = 0; i < count; i++) { string tUserID, tUserName, tDept, tEmail, tLeader, tAngent; tUserID = ds.Tables["[Sheet1$]"].Rows[i]["員工代號"].ToString().Trim(); tUserName = ds.Tables["[Sheet1$]"].Rows[i]["員工姓名"].ToString().Trim(); tDept = ds.Tables["[Sheet1$]"].Rows[i]["所屬部門代號"].ToString().Trim(); tEmail= ds.Tables["[Sheet1$]"].Rows[i]["E-Mail Address"].ToString().Trim(); tLeader = ds.Tables["[Sheet1$]"].Rows[i]["直属主管"].ToString().Trim(); tAngent = ds.Tables["[Sheet1$]"].Rows[i]["代理人"].ToString().Trim(); string excelsql = "insert into " + this.UserInfo.Company + "..[resak] (resak001, resak002, resak015,resak005,resak013,resak009) values (‘" + tUserID + "‘,‘" + tUserName + "‘,‘" + tDept + "‘,‘" + tEmail + "‘,‘" + tLeader + "‘,‘" + tAngent + "‘)"; DBCommand cmd = DscDBData.GetDataDBCommand(); cmd.ExeNonQuery(excelsql); } }
SELECT * INTO PURTCFROM OPENROWSET(‘MICROSOFT.JET.OLEDB.4.0‘,‘Excel 5.0;HDR=YES;DATABASE=D:\12.xls‘,sheet1$)
注意将Excel中的栏位与表中栏位对应Ok的话,即可!
.NET导入Excel到SQL数据库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。