java导出定制列数的excel表

   当下许多业务都需对列表进行导出,而且还需对于列表中所有列表选择几项进行导出。
   在项目中,我们使用swagger完成接口的文档定义,通过注解完成数据列的列名与字段名,以及枚举类型(字典表)配置,完成相应的后,只需前端在对应列上赋上展示顺序就可以完成定制列的列表导出。
   前端接口对应类定义:
package com.bean.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@ApiModel(description = "导出对象")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ExpQuery extends Query {
   
     @ApiModelProperty(name = "expCols", value = "导出列")
     private ExpVo expCols;

}

导出对象类继承列表的查询类,完成列表查询条件的不变。增加expCols属性来完成导出列的配置。

package com.bean.vo;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.jfinger.cloud.annotation.Dict;
import java.math.BigDecimal;
import java.util.Date;

@ApiModel(description = "导出设置表")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ExpVo {
   
	@ApiModelProperty(name = "expCols.applyNo", value = "申报编号")
	private Integer applyNo;
	@ApiModelProperty(name="expCols.recordProjectCode",value="备案项目代码")
	private Integer recordProjectCode;
	@Dict(dicCode = "common_yes_no")
	@ApiModelProperty(name="expCols.creditLossFlag",value="是否失信企业")
	private Integer creditLossFlag;
	}

通过注解ApiModelProperty完成属性与列名对配置,通过注解Dict完成字典表的对应。前端调用时相应的值进行排序。
导出设置表所属应与导出对象一一对应。

接口实现类示例:

@ApiOperation(value = "导出列表", notes = "liyw@导出列表")
@GetMapping("/exportList")
public void exportList(Query query, HttpServletResponse response) throws Exception {
   
   query.setPageSize(10000);
   //取1万条数据
    IPage<GovList> pageInfo =  service.listGovPage(query);
    List<ExportColSet&g
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值