文献种类:专题技术文献;
开发工具与关键技术: VS、Jquery、MVC
作者:方建恒 ;年级:20级 ;撰写时间: 2021 年 7 月 28日
Excel表格导入
下面我们来看一下如何实现把Excel表格里的数据导入到页面上的功能,
首先我们要先把导入的按钮完成,给他添加一个点击事件,
让用户在点击它时弹出一个模态框,如图:
这里我们为了防止用户在上传文件的时候出错,
我们在模态框里提示用户下载标准模板并且不要改动模板的基本格式。
然后我们来完成上传部分的功能,
首先我们开始编写文件上传的HTML部分,
给input标签的type属性设置为file,
然后再把accept属性设置为.xls,使其只能上传Excel表格。如图:
接下来我们创建一个方法并把它命名为uploadExcelFile,
然后我们先用FormData构造函数创建一个空对象,
然后将文件通过append()方法添加到空对象中。
然后打开layer的加载层,再通过异步提交将数据提交到控制器。
记得用url属性规定发送请求的路径,一般为当前页面。
然后用method属性把提交方式定义为post,
最后记得把模态框关闭,如图:
这样js部分就完成了。接下来是控制器部分:
首先我们要在try…catch…方法里用if判断上传的文件是否为Excel表格的格式。
不是则提示用户更改,若是则声明一个二进制数组用来存放文件。如图:
然后用IWorkbook获取工作簿,并判断它里面是否有工作表。
若有则用ISheet获取到工作簿,并判断它是否有数据。
若有则获取数据,因为我表格模板里第一行是说明,所以GetRow方法里的数值是1,
这样才能获取到表头,如图:
然后获取图书的信息,记得验证一下表格里的单元格是否为Formula公式。
然后添加到我们创建的临时存储数据的dtRow里。如图:
最后我们把文件里的空白行去掉,数据验证完后,
用AddRange()方法把数据保存到页面,然后再验证是否保存成功,
若不成功则提示导入失败。如图:
这样Excel表格里的数据导入到页面上的功能就完成了。