EasyExcel官网

条件参数对象

/*** @Author 庭前云落* @Date 2021/8/3 13:55* @Description*/
@Data
@ApiModel(value = "案件模块查询条件参数对象", description = "")
public class CaseBasicQueryInfo {@ApiModelProperty(value = "当前页码")private Integer pageNum;@ApiModelProperty(value = "每页条数")private Integer pageSize;@ApiModelProperty(value = "受理开始时间")private String startAcceptanceDate;@ApiModelProperty(value = "受理结束时间")private String endAcceptanceDate;@ApiModelProperty(value = "登记开始时间")private String startRegisterDate;@ApiModelProperty(value = "登记结束时间")private String endRegisterDate;@ApiModelProperty(value = "案件来源")private String caseResourceName;@ApiModelProperty(value = "案件标题")private String caseTitle;@ApiModelProperty(value = "被反映人姓名")private String accusedName;@ApiModelProperty(value = "案件编码、被反映人对象职级")private String multipleConditions;@ApiModelProperty(value = "用户筛选的列字段集合")private List<String> columnList;}

全部导出字段的封装VO

/*** @Author 庭前云落* @Date 2021/8/3 14:07* @Description*/
@Data
//内容行高
@ContentRowHeight(15)
//标题行高
@HeadRowHeight(20)
//单元格宽度
@ColumnWidth(25)
@ApiModel(value="案件台账数据传输对象", description="")
public class CaseBasicQueryList implements Serializable {//@ExcelProperty("状态")//@ApiModelProperty(value = "当前办理阶段代码/状态")//@TableField("DEAL_FLAG")//private String dealFlag;@ExcelProperty("状态")@ApiModelProperty(value = "当前办理阶段代码值")@TableField("DEAL_FLAG_NAME")private String dealFlagName;@ApiModelProperty(value = "案件标题(加密)")@TableField("CASE_TITLE")@ExcelProperty("案件标题")private String caseTitle;@ApiModelProperty(value = "案件来源代码值")@TableField("CASE_RESOURCE_NAME")@ExcelProperty("案件来源")private String caseResourceName;@ApiModelProperty(value = "案件编码")@TableField("CASE_NO")@ExcelProperty("案件编码")private String caseNo;@ApiModelProperty(value = "受理线索编码")@TableField("DISPOSITION_NO")@ExcelProperty("受理线索编码")private Date dispositionNo;@ApiModelProperty(value = "信访举报编码")@TableField("PETITION_NO")@ExcelProperty("信访举报编码")private String petitionNo;@ApiModelProperty(value = "受理日期")@TableField("ACCEPTANCE_DATE")@ExcelProperty("受理日期")private Date acceptanceDate;@ApiModelProperty(value = "登记日期")@TableField("REGISTER_DATE")@ExcelProperty("登记日期")private Date registerDate;@ApiModelProperty(value = "监委立案机关/纪委立案机关")@TableField("JIANWEI_DEPT_NAME")@ExcelProperty("监委立案机关/纪委立案机关")private String jianweiDeptName;@ApiModelProperty(value = "监委立案时间/纪委立案时间")@TableField("JIANWEI_CREATE_DATE")@ExcelProperty("监委立案时间/纪委立案时间")private Date jianweiCreateDate;@ApiModelProperty(value = "被反映人姓名(加密)")@TableField("ACCUSED_NAME")@ExcelProperty("被反映人姓名")private String accusedName;@ApiModelProperty(value = "被反映对象职级代码值")@TableField("RANK_NAME")@ExcelProperty("职级")private String rankName;@ApiModelProperty(value = "是否署名 1是0否")@TableField("IS_ANONYMOUS_FLAG")@ExcelProperty("是否署名")private String isAnonymousFlag;@ApiModelProperty(value = "反映人名称(加密)")@TableField("ACCUSER_NAME")@ExcelProperty("反映人姓名")private String accuserName;}

Controller接口

/*** <p>* 案件管理模块Controller接口* </p>** @author WangTingWei* @since 2021-07-27*/
@Slf4j
@RestController
@RequestMapping("/caseBasicInfo")
@Api(tags = "案件基本信息接口")
public class CaseBasicInfoController {@Resourceprivate CaseBasicInfoService caseBasicInfoService;/*** 导出案件台账信息* @return*/@ApiOperation(value = "导出案件台账信息")@RequestMapping(value = "/exportCaseBasicInfoList", method = RequestMethod.GET)@LogAnnotation("导出案件台账信息")public void exportCaseBasicInfoList(@RequestBody(required=false) CaseBasicQueryInfo caseBasicQueryInfo, HttpServletResponse response) {try {//指定需要导出的列Set<String> includeColumnFiledNames = new HashSet<String>();caseBasicQueryInfo.getColumnList().stream().forEach(column->{includeColumnFiledNames.add(column);});List<CaseBasicQueryList> queryListInfo = caseBasicInfoService.exportCaseBasicInfoList(caseBasicQueryInfo);response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");String fileName = URLEncoder.encode("案件台账", "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");EasyExcel.write(response.getOutputStream(), CaseBasicQueryList.class).includeColumnFiledNames(includeColumnFiledNames).sheet("案件台账").doWrite(queryListInfo);} catch (Exception e) {log.error("导出案件台账信息异常",e);}}}

底层的查询

 <select id="exportCaseBasicInfoList" resultType="com.sinosoft.system.casebasicinfo.entity.CaseBasicQueryList">SELECT CBI.DEAL_FLAG_NAME,CBI.CASE_TITLE,CBI.CASE_RESOURCE_NAME,CBI.CASE_NO,CBI.DISPOSITION_NO,CBI.PETITION_NO,CBI.ACCEPTANCE_DATE,CBI.REGISTER_DATE,CBI.JIANWEI_DEPT_NAME,CBI.JIANWEI_CREATE_DATE,ACCUSED.ACCUSED_NAME,ACCUSED.RANK_NAME,ACCUSER.IS_ANONYMOUS_FLAG,ACCUSER.ACCUSER_NAMEFROM CASE_BASIC_INFO CBILEFT JOIN ACCUSED_INFO ACCUSEDON CBI.OID = ACCUSED.BUSINESS_IDLEFT JOIN ACCUSER_INFO ACCUSERON CBI.OID = ACCUSER.BUSINESS_IDWHERE 1=1 AND CBI.DEAL_FLAG IN ('33','35','36','37')<if test="caseBasicQueryInfo != null "><!--受理时间--><if test="caseBasicQueryInfo.startAcceptanceDate!= null ">and  CBI.ACCEPTANCE_DATE between #{caseBasicQueryInfo.startAcceptanceDate}</if><if test="caseBasicQueryInfo.endAcceptanceDate!= null ">and #{caseBasicQueryInfo.endAcceptanceDate}</if><!--登记时间--><if test="caseBasicQueryInfo.startRegisterDate!= null ">and  CBI.REGISTER_DATE between #{caseBasicQueryInfo.startRegisterDate}</if><if test="caseBasicQueryInfo.endRegisterDate!= null  ">and #{caseBasicQueryInfo.endAcceptanceDate}</if><!--案件来源--><if test="caseBasicQueryInfo.caseResourceName!= null  ">and CBI.CASE_RESOURCE_NAME LIKE  '%${caseBasicQueryInfo.endAcceptanceDate}%'</if><!--案件标题--><if test="caseBasicQueryInfo.caseTitle!= null ">and CBI.CASE_TITLE LIKE  '%${caseBasicQueryInfo.caseTitle}%'</if><if test="caseBasicQueryInfo.accusedName!= null   ">and ACCUSED.ACCUSED_NAME LIKE  '%${caseBasicQueryInfo.accusedName}%'</if><if test="caseBasicQueryInfo.multipleConditions!= null ">and CBI.CASE_NO LIKE  '%${caseBasicQueryInfo.multipleConditions}%'or  ACCUSED.RANK_NAME LIKE  '%${caseBasicQueryInfo.multipleConditions}%'</if>ORDER BY cbi.CREATE_TIME DESC</if></select>

主要还是Controller里面的处理,跟官网的没区别。SQL没必要看,贴 SQL 是为了大家知道数据从哪里来的。

EasyExcel 筛选导出相关推荐

  1. springboot使用jxls导出excel___(万能通用模板)--- SpringBoot导入、导出Excel文件___SpringBoot整合EasyExcel模板导出Excel

    springboot使用jxls导出excel 实现思路: 首先在springBoot(或者SpringCloud)项目的默认templates目录放入提前定义好的Excel模板,然后在具体的导出接口 ...

  2. easyexcel的导出

    目录 1 前言 2 导出实战 1 前言 之前用easypoi的导出用到了表头多层嵌套时,发现很麻烦,需要些很多的代码,所以今天看了一下easyexcel的导出,发现表头情况不复杂时和easypoi的难 ...

  3. EasyExcel导入导出下载模板(带下拉)

    EasyExcel导入导出网上资料很多,这里就不多做描述了,总之就是一款比较轻而小,易用的excel操作工具包:这里在项目中使用到,做下笔记.以及表格中下拉框的实现: 声明:本文思路是借鉴于某大神的, ...

  4. 解决Docker缺少字体导致Easyexcel无法导出的问题

    解决Docker缺少字体导致Easyexcel无法导出的问题 问题背景 报错信息展示 追踪问题 临时解决方案 终极方案 问题背景 公司项目最近有要实现Excel导入导出的功能,考虑到以前使用Apach ...

  5. EasyExcel模板导出(行和列自动合并)

    目录 1.需求背景: 2.初步实现: 3.列合并 4.行合并 5.excel字体样式内容居中 6.将三个工具类初始化后注册后最终代码: 1.需求背景: ①需要从第三方获取数据,第三方接口有两个参数,开 ...

  6. easyExcel 填写导出转换日期格式

    在使用easyExcel 填写导出的时候,遇到Date类型的字段填写在excel,显示的单元格的格式为自定义格式,原本该单元格格式设置了边框,居中,填写导出后的居然没有加边框,也没有居中.按照源码,写 ...

  7. EasyExcel动态导出多级表头

    EasyExcel动态导出多级表头 工具类 /*** 特殊表头导出方法* @param response* @param fileName* @param sheetName* @param list ...

  8. EasyExcel表格导出自动列宽设定

    EasyExcel表格导出自动列宽设定 public static class AutoColumnWidthStrategy implements CellWriteHandler {@Overri ...

  9. 【使用EasyExcel导入导出】

    使用EasyExcel导入导出 一,为什么要使用EasyExcel 1.1 EasyExcel与Poi的区别 Java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在一个 ...

最新文章

  1. OpenCV支持中文字符输出实现
  2. zynq学习02 新建一个Helloworld工程
  3. python资料库-Python对接六大主流数据库,只需三步
  4. helm istio k8s docker
  5. font-size用VW来写的方法
  6. 鼠标拖动改变DIV等网页元素的大小的最佳实践
  7. mysql workbench 无法编辑_MySQL Workbench编辑表数据是只读的
  8. Cluster - LB - haproxy
  9. strlensizeof
  10. 【渝粤教育】国家开放大学2018年春季 0653-21T机电控制与可编程控制技术 参考试题
  11. JasperReport和iReport的java集成大全
  12. Silverlight初级教程-概述
  13. mysql 面试知识点笔记(三)联合索引的最左匹配原则
  14. Acer EC-471G BIOS升级注意事项
  15. 信息学竞赛NOIACM在线评测题库网站精选【翼虎小微整理】
  16. VS2013 打包步骤
  17. 离散数学主析取及主合取范式
  18. PS常用案例步骤详解,自学 Photoshop 2022 Mac版,多个PS后期修图小案例笔记
  19. 反向传播算法(代码笔记)
  20. am调制解调仿真matlab,MATLABAM调制解调系统仿真报告.doc

热门文章

  1. 三本 计算机专业,四川哪些三本大学的计算机专业最好?
  2. 中产学院源爱妈咪全国首创7大黄金技术桂林游学发布会
  3. Vim中如何全选并复制?
  4. win10查看本机密钥的方法
  5. 手机订货系统的基本原理 帮助经销商卖货
  6. 从JavaScript二维数组排序说开去(2)
  7. [汇编语言] 循环与分支程序设计 例题
  8. 分析武汉二手房房价信息
  9. 7-6 计算存款利息 (10分)
  10. 大数据存储1----什么是hdfs!!!