jsxl 导出excel

前台

      window.open("?action=exportExcel&" + query); //query为表单序列化参数

后台

@RequestMapping(value = "", params = "action=exportExcel")
    @ResponseBody
    public void exportExcel(HttpServletResponse response, @ModelAttribute ZjylbVo zjylbVo) {

        List<Map> dataList  = zjylbService.select4ExportExcel(paramMap);   //导出数据

        String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())+".xls";

        response.setHeader("Content-Disposition", "attachment;filename=" + fileName); // 设置文件的名字

        //导出Excel模板
        InputStream templateStream = this.getClass().getClassLoader().getResourceAsStream("/excel_template/expZjyExcelTemp.xls");

        ExcelTool.export(response, templateStream, dataList);
    }
public static void export(HttpServletResponse response, InputStream templateStream, List<Map<String, Object>> dataMapList) {
        response.setContentType("application/vnd.ms-excel"); // 设置下载类型
        String filename = (new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()))+ ".xls";//设置文件的名字
        response.setHeader("Content-Disposition", "attachment;filename=" + filename);
        OutputStream os = null;

        try {
            os = response.getOutputStream();
            new ExportDataToStream().exportXlsUseTemplate(dataMapList, templateStream, os);
        } catch (IOException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (templateStream != null) {
                    templateStream.close();
                }
                if (os != null) {
                    os.close();
                }
            } catch (IOException e) {
                System.err.println(e.getMessage());
            }
        }
    }
 public Map exportXlsUseTemplate(List<Map<String, Object>> lists, InputStream templateFileIs, OutputStream os) {
        
        Map<String, String> ret = new HashMap<String, String>();
        Map<String, Object> beans = new HashMap<String, Object>();
        beans.put("lists", lists);
        XLSTransformer transformer = new XLSTransformer();
        try {
            org.apache.poi.ss.usermodel.Workbook workbook = transformer.transformXLS(templateFileIs, beans);
            workbook.write(os);
            templateFileIs.close();
        } catch (Exception e) {
            log.error(e.getMessage());
            ret.put("errormsg", "生成xls文件出错,请查看日志");
            return ret;
        }
        return null;
    }

Excel模板




      

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值