easypoi导出

1.首先导入相应依赖

		<!-- easypoi简单导出所需要的jar包 start -->
		<dependency>
			<groupId>cn.afterturn</groupId>
			<artifactId>easypoi-base</artifactId>
			<version>3.2.0</version>
		</dependency>
		<dependency>
			<groupId>cn.afterturn</groupId>
			<artifactId>easypoi-web</artifactId>
			<version>3.2.0</version>
		</dependency>
		<dependency>
			<groupId>cn.afterturn</groupId>
			<artifactId>easypoi-annotation</artifactId>
			<version>3.2.0</version>
		</dependency>
		<!-- easypoi简单导出所需要的jar包 end-->

2.然后工具类

public class ExcelUtil {
    public static void writeExcel(HttpServletResponse response, List<?> list, String fileName, String sheetName, Class clazz)throws Exception{
        response.setCharacterEncoding("UTF-8");
        response.setHeader("content-Type", "application/vnd.ms-excel");
       
        response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
        response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode(fileName, "UTF-8"));
        
        // 创建参数对象(用来设定excel得sheet的内容等信息)
        ExportParams params = new ExportParams(); //sheet
        // title的参数为ExportParams类型,目前仅仅在ExportParams中设置了sheetName
        params.setSheetName(sheetName);
        params.setType(ExcelType.XSSF);
        
        Workbook workbook = ExcelExportUtil.exportExcel(params, clazz,list) ;
        workbook.write(response.getOutputStream());
    }

3.导出对应的实体类

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;

/**
 * @author author
 * @date 2021/8/23 20:47
 */
@Data
public class MentorDiseaseExport {

    @Excel(name = "就诊流水号")
    private String flowNo;

    @Excel(name = "姓名")
    private String patientName;

    @Excel(name = "年龄")
    private String patientAge;

    private String patientBirth;

    @Excel(name = "性别")
    private String patientSex;

    @Excel(name = "身份证号")
    private String idenno;

    @Excel(name = "医保类型")
    private String pactName;

    @Excel(name = "疾病名称")
    private String diagName;

    @Excel(name = "科室")
    private String deptName;

    @Excel(name = "医生")
    private String doctName;

    @Excel(name = "总费用(元)")
    private String totalCost;

    @Excel(name = "医保费用(元)")
    private String pubCost;

    @Excel(name = "公务员补助(元)")
    private String officeCost;

    @Excel(name = "就诊日期")
    private String mtbDate;
}
	// 如果不用注解该字段不会导出

4.导出controller

	@PostMapping("/queryDiseaseByPage/export")
    @ResponseBody
    public void queryDetailExport(ChronicDiseaseDTO chronicDisDTO, HttpServletResponse response) {
        List<MentorDiseaseExport> mapData = chronicService.queryDiseaseByPageExport(chronicDisDTO);
        String ymdhms = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
        String excelName = "门诊慢性病详情" + ymdhms + ".xlsx";
        try {
            ExcelUtil.writeExcel(response, mapData, excelName, "门诊慢性病详情", MentorDiseaseExport.class);
        } catch (Exception e) {
            log.info(e.getMessage());
            e.printStackTrace();
        }
    }

查询数据的业务和xml就不贴了,传统的poi需要写的比较多的代码,还可以通过easyExcel导出,也是比较简单的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值