Excel表格的导入
开发工具与关键技术:VS
作者:唐俊祥
撰写时间:2019.5.6
下面我们来完成Excel表格的导入,如下图首先写导入的方法先重置表单把保存到数据库的按钮禁用,禁用是为出错不小心按到保存到数据的按钮,再把临时表清空和设置点击背景是不关闭动态模态框和按下esc时不关闭动态模态框,再下载Excel表格的模板,之后弹出导入考生的模态框,再把上传Excel表格保存到临时表后是避免取消选择文件后触发上传,然后是提交表单。
然后到控制器写导入Excel表格的方法,首先是下载Excel表格模板的方法获取到导入模板路径,后判断模板是否存在如果不存在就弹出提示“模板文件不存在,请联系系统运维人员”,获取文件名称考生信息的导入模板再用File返回。
然后是将导入的Excel表格的数据保存到session,首先是new ReturnJsonVo再写一个捕获异常,获取到页面上传的文件,获取到文件的后缀再判断文件类型是否为指定的文件类型,如果文件类型不对就会弹出提示“文件类型错误,请上传Excel文件”声明二进制数组文件存放文件,将文件传入的文件传化为二进制的数组存入fileBytes中再讲二进制数组传化为内存流。
public ActionResult ImportExcel(HttpPostedFileBase file)
{
ReturnJsonVo returnJson = new ReturnJsonVo();
try{
string fileExtension = System.IO.Path.GetExtension(file.FileName);//.xls
if (".xls".Equals(fileExtension) || “.XLS”.Equals(fileExtension))
{
//声明二进制数组存放文件
byte[] fileBytes = new byte[file.ContentLength];
}
else
{
returnJson.State = false;
returnJson.Text = “文件类型错误,请上传Excel文件!”;
}
}
catch (Exception)
{
returnJson.State = false;
returnJson.Text = "数据异常!";
}
return Json("",JsonRequestBehavior.AllowGet);
}
之后我们就可以到页面中检查导入功能是否成功,到页面点击导入数据的按钮就弹出如下图所示,后点击Browse选择上传文件。
我们可以如图所示选择图中的Excel文件的上传,然后点击确定按钮上传文件,就会弹出
Excel表格中一共有n条数据,其中n条匹配成功,有n条匹配失败!你就会知道成功多少条或者失败多少条。