就是我们在点击导入的时候,一般都是有一个模板的,我们需要下载这个模板,然后再按照这个excel模板填充数据之后,再导入。
那么导出模板下载,说白了和前面一篇
赞:java使用easy-excel导出数据的通用模板思路_easyexcel excelwriter-CSDN博客
是相同的思路,只是我们导出数据是对前端表格页面上勾选的数据导出到excel,此时excel里面的数据就是前端表格页面上的数据行记录,但是我导入模板下载说白了也是导出一个excel,只不过excel里面的数据是我们自己定义的固定模板表头(封装实体)一般就是一行。所以其实我们只要调用我们前面的导出工具类,然后将参数List<T> dataResult改为自己定义的固定的表头模板行数据字段封装实体。
所以最终我们会怎么写呢?
就是在controller提供一个接口,假如是
@Api(tags = "关于excel的controller")
@RequestMapping("/excel")
@RestController
public class ExcelController {
@Resource
ExcelService excelService;
@GetMapping("/importExcelTemplateDownload")
@ApiOperation(value="导入模板下载")
public R importExcelTemplateDownload(){
excelService.importExcelTemplateDownload();
return R.success();
}
}
public class ExcelService{
public void importExcelTemplateDownload();
}
@Service("excelService")
public class ExcelServiceImpl implements ExcelService{
@Resource
HttpServletResponse httpServletResponse;
@overwirte
public void export(String fileName, List<T> dataResult , Class<T> clazz , HttpServletResponse response){
xxxxxxxxxx =====> 前面一篇文章里面的。
}
@overwrite
public void importExcelTemplateDownload(){
CustomFixedTemplate cft = new CustomFixedTemplate().setXXX().setXXX()......setXXX();
List<CustomFixedTemplate> list = new ArrayList();
list.add(cft);
export(fileName,list,clazz,httpServletResponse);
}
}
总结:
导入模板下载其实就是导出,只不过导出到excel的数据是我们自己自定义的数据。所以只需要将之前导出的业务工具类的List<T> dataResult 传为自己自定义的数据。
最后:
如果大家觉得这篇文章对你们有所帮助的话,麻烦给个免费的赞赞,也祝各位码农在未来的IT道路上越走越远。谢谢。