MVC3 Excel导入数据到sql Server数据库
时间:2022-03-14 03:38
MVC Excel导入到数据库,我们客户有一个固定的Excel,每个月都让我手动录入到库内(一开始不会SQL的导入)一两次我还好,蛮乐意的后来多了,我就使用了SQL自带的导入,可是每个月都这样,就太恶心了,为了凸显我是一个程序员,我跟项目经理提出,做一个页面上传Excel文件的页面,然后保存到数据库,让客户上传,天天上传都可以,不要每个月找我一次,而且客户还是个女的,最让我不开心的是她还那么土,然后项目经理说既然是你想出来的,那么你就自己写,我化石了,则个则.............ge。我是一个有骨气的人,所以只好试试啦。
视图完整代码
@using (Html.BeginForm("StationImport", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<h2>基站信息导入</h2>
<div type="file" name="files" class="easyui-validatebox" /></p>
<p>
<input id="btnImport" type="submit" value="导入" /></p>
<p + savePath + ";Extended Properties=‘Excel 12.0 Xml; HDR=YES; IMEX=1‘";
else if (fileEx.Equals(".xls"))
strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + savePath + ";Extended Properties=‘Excel 8.0; HDR=YES; IMEX=1‘";
}
var conn = new OleDbConnection(strConn);
conn.Open();
var myCommand = new OleDbDataAdapter("select * from [Sheet1$]", strConn);
var myDataSet = new DataSet();
try
{
myCommand.Fill(myDataSet, "ExcelInfo");
}
catch (Exception ex)
{
ViewBag.error = ex.Message;
return View();
}
DataTable table = myDataSet.Tables["ExcelInfo"].DefaultView.ToTable();
for (int i = 0; i < table.Rows.Count; i++)
{
//获取地区名称
var station = new tab_Student
{
Name = table.Rows[i][0].ToString(),
Value = table.Rows[i][1].ToString(),
};
db.tab_Student.Add(station);
}
db.SaveChanges();
ViewBag.error = "导入成功";
System.Threading.Thread.Sleep(2000);
return RedirectToAction("Index");
}