版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012934325/article/details/82194629
首先阐述一下概念,我这里说的下载EXCEL模板,是指这种情况,比如,用户需要填写一个EXCEL,只需要填写某几列,其余列的数据都存在,这个模板是固定的,不是动态生成的EXCEL模板,而是将需要的数据填充到EXCEL中,然后将该模板下载下来供用户填写,然后在进行导入,再进行数据的入库等操作。
(1)绘制模板
新建一个EXCEL,可能是以xls或者xlsx结尾,所以在导入的时候需要进行处理,这里说下载,所以不存在这个问题。模板绘制需要使用office的excel来绘制,不能采用WPS。
绘制模板,基本上就是第一行写上每列的名字就可以,然后模板就绘制完成。
(2)下载模板
一般来说,前端界面会有一个下载按钮,我们通过点击下载按钮来触发事件,请求后台,此时就可以通过后台来下载一个EXCEL文件。实现也分前端和后端,分开来说。
前端的实现代码如下所示:
$("#excelForm").attr("action",url);
$("#excelForm").submit();
后端的实现代码如下所示:
try {
ExcelUtils exportExce = new ExcelUtils(getExcelPath("derjdcy"));
String expoertname = "下载的模板名字";
if(list != null){
String[] fields = {"模板中每列的字段名字"};
exportExce.cteateTableByList(list, fields, 1);
exportExce.outputExcel(expoertname,request,response);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
(3)需要注意的事项是:
- 首先需要封装一个EXCEL的工具类,如我上面所使的是ExcelUtils工具类。
- 获取项目中EXCEL模板的路径
- 将数据集填充到模板可以通过自己封装的工具类方法
- EXCEL进行输出即可