前台代码
<form enctype="multipart/form-data" action="/show/daoru" method="post">
<input type="file" name="Exc" />
<input type="submit" id="daoru" value="导入"/>
</form>
后台代码
引用 NPOI.dll 插件
//using NPOI.HSSF.UserModel;
//using NPOI.SS.UserModel;
public FileResult daochu()
{
var data = new DAL.stuDAL().show();
HSSFWorkbook book = new HSSFWorkbook();
ISheet sheet = book.CreateSheet("sheet1");
IRow row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("ID");
row.CreateCell(1).SetCellValue("Name");
row.CreateCell(2).SetCellValue("AradeNo");
row.CreateCell(3).SetCellValue("ClassNo");
row.CreateCell(4).SetCellValue("Sex");
row.CreateCell(5).SetCellValue("FileName");
int ii = 0;
foreach (var item in data)
{
ii++;
IRow rows = sheet.CreateRow(ii);
rows.CreateCell(0).SetCellValue(item.ID.ToString());
rows.CreateCell(1).SetCellValue( item.Name.ToString());
rows.CreateCell(2).SetCellValue( item.AradeNo.ToString());
rows.CreateCell(3).SetCellValue( item.ClassNo.ToString());
rows.CreateCell(4).SetCellValue( item.Sex.ToString());
rows.CreateCell(5).SetCellValue( item.FileName.ToString());
}
MemoryStream ms = new MemoryStream();
book.Write(ms);
ms.Seek(0,SeekOrigin.Begin);
return File(ms,"application","zhoukao1.xls");
}
/// <summary>
/// 导入
/// </summary>
/// <param name="Exc"></param>
/// <returns></returns>
public ActionResult daoru(HttpPostedFileBase Exc)
{
string filename = Server.MapPath("word");
if (!Directory.Exists(filename)) //判断是否存在
{
Directory.CreateDirectory(filename);//不存在则建立
}
string fname = Path.GetFileName(Exc.FileName);
Exc.SaveAs(filename+fname);
string path = filename + fname;
OleDbConnection con =
new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0;");
OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$]",con);
DataTable tb = new DataTable();
da.Fill(tb);
for (int i = 0; i < tb.Rows.Count; i++)
{
stuM mm = new stuM();
mm.Age = 0;
mm.AradeNo = Convert.ToInt32(tb.Rows[i]["AradeNo"]);
mm.ClassNo = Convert.ToInt32(tb.Rows[i]["AradeNo"]);
mm.FileName =tb.Rows[i]["FileName"].ToString();
mm.Name =tb.Rows[i]["Name"].ToString();
mm.Sex = Convert.ToInt32(tb.Rows[i]["Sex"]);
int s= new DAL.stuDAL().add(mm); // 执行 DAL的方法
}
return Content("<script>alert('导入成功');location.href='show/show'</script >");
}