easypoi导出小结(持续更新)

本文详细介绍了使用Java进行Excel批量导出的方法,包括单sheet页和多sheet页的导出流程。通过注解方式定义导出模型,利用ExcelExportUtil工具类实现数据到Excel的转换,并提供了具体的代码实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.单sheet页的导出   GradeNoActivityStudentsExport 为导出的model对象   我用的是注解的方式

@ExcelTarget("GradeNoActivityStudentsExport")
public class GradeNoActivityStudentsExport {

    /**
     * 学生ID
     */
    @Excel(name = "学生ID", height = 15, width = 30, isImportField = "true_st")
    private String kStudentNo;

    /**
     * 学生姓名
     */
    @Excel(name = "姓名", height = 15, width = 30, isImportField = "true_st")
    private String kStudentName;


    /**
     * 行政班
     */
    @Excel(name = "班级", height = 15, width = 30, isImportField = "true_st")
    private String kClassesName;
		String title = "无活动学生名单";
		String sheetName = "无活动学生名单";
		Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(title, sheetName),
				GradeNoActivityStudentsExport.class, StudentResList);
		// 导出excel
		SpringBootFileDownloadUtil.exportExcel(workbook, sheetName + ".xls", response);
    public static void exportExcel(Workbook workbook, String fileName, HttpServletResponse response)
    {
        ServletOutputStream out = null;
        try
        {
            out = response.getOutputStream();
            fileName = URLEncoder.encode(fileName, "UTF-8");
            response.setCharacterEncoding("UTF-8");
            response.setContentType("application/msexcel");
            response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
            workbook.write(out);
        }
        catch (Exception e)
        {
            LOGGER.error("excel导出异常", e);
        }
        finally
        {
            CloseUtil.closeQuietly(out);
            CloseUtil.closeQuietly(workbook);
        }
    }

2.多sheet页的导出   ChoiceCourseExport同理为导出模板对象   最后对workbood进行流化

        List<Map<String, Object>> sheetsList = new ArrayList<>() ;
        for (Map.Entry<String,Object> map : StudentMap.entrySet()) {
        	 Map dataMap = new HashMap<>();
        	 ExportParams params = new ExportParams() ;
        	 params.setSheetName(map.getKey()); ;
        	 dataMap.put("title",params) ;
             dataMap.put("entity",ChoiceCourseExport.class) ;
             dataMap.put("data",map.getValue()) ;
             sheetsList.add(dataMap);
		}
        String sheetName = "学生选课结果";
        Workbook workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.HSSF) ;

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值