根据业务动态导出列表信息

使用:若依框架中,当然不是若依框架也可参考官方文档改成自己想要的代码

文章内容出处:在开发过程中 ,我发现我写的几个页面的表格数据是一样的,只是因为其中某个条件的不同,从而导出的列表不同,所以我希望对列信息根据业务去动态显示,那么我们可以进行如下处理,参考若依官方文档更新的内容......

示例:对车辆类型进行条件判断,符合某个条件则隐藏属性,导出的文件则不会显示此列信息。

1.ExcelUtil.java:

/*** 需要排除列属性*/
public String[] excludeFields;/*** 隐藏Excel中列属性** @param fields 列属性名 示例[单个"name"/多个"id","name"]* @throws Exception*/
public void hideColumn(String... fields){this.excludeFields = fields;
}

接着在原来的getFields()方法里加上圈起来的条件

2.Controller:

@PostMapping("/export")public void export(HttpServletResponse response, CarUseStatusVo carUseStatusVo) {List list = carUseApplyService.selectCarUseApplyList(carUseStatusVo);ExcelUtil util = new ExcelUtil(CarUseStatusVo.class);//这里util.hideColumn()里面的字段可以隐藏单个、也可以多个if (条件A) {// 不显示用车原因(单个)util.hideColumn("useReason");} else if (条件B) {// 不显示用车原因、GPS里程(多个)util.hideColumn("useReason", "gpsMileage","","",...);}util.exportExcel(response, list, "车辆使用申请数据");}

3..vue页面请求:

导出methods:{/** 导出按钮操作 */handleExport() {this.download('/export', {-- 搜索查询参数...queryParams}, `车辆使用申请列表r_${new Date().getTime()}.xlsx`)}
}

到这里,基本就已完成了,原来框架就有的,所以改动的不多,也是参考最新的官方文档做的修改,因为之前拉下来的时候文件里还没有这部分代码。

今天的学习记录就到这了,拜拜!

说明:学习记录,若有错误,欢迎指正,若有疑问,欢迎评论


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部