导出多个sheet页

/***
     * @description: 用于导出多个sheet页 使用说明:在harder参数重传递要加入多少个sheet页  resultList中按照harder的顺序进行数据匹配
     *     ExportUtil2.exportManySheet
     * @param: response (javax.servlet.http.HttpServletResponse,java.lang.String,java.util.Map<java.lang.String,java.util.List<java.util.Map<java.lang.Object,java.lang.String>>)
     * @param: fileName (java.util.Map<java.lang.String,java.lang.Object>...) 表头名称
     * @param: resultList (null)导出数据
     * @param: harder (null)表头
     * @param: sheetNames
     * @return: void
     * @author:
     * @crateDate: 2022/7/14 14:54
     */
    public static void exportManySheet(HttpServletResponse response, String fileName, List<List<Map<String,Object>>>resultList ,List<String> sheetNames,Map<String,String>...harder){
        ExcelWriter writer = new ExcelWriter(false,fileName);
        writer.setHeaderAlias(harder[0]);
        writer.write(resultList.get(0),true);
        for (int i = 1; i < harder.length; i++) {
            writer.setSheet(sheetNames.get(i));
            writer.setHeaderAlias(harder[i]);
            // 合并单元格后的标题行,使用默认标题样式
         //   writer.merge(11, "sheetNames.get(i)");
            writer.write(resultList.get(i),true);
            //设置所有列为自动宽度,不考虑合并单元格
            writer.autoSizeColumnAll();
        }
        try {
            response.setContentType("application/vnd.ms-excel;charset=utf-8");
            //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
            String codedFileName = URLEncoder.encode(fileName, "UTF-8");
            response.setHeader("Content-Disposition","attachment;filename="+ codedFileName + ".xls");
            writer.flush(response.getOutputStream());
            // 关闭writer,释放内存
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值