• 批量导出


    前言:

    maven中需要添加依赖:

           <dependency>

                <groupId>jexcelapi</groupId>

                <artifactId>jxl</artifactId>

                <version>2.4.2</version>

           </dependency>

     public static void excleExport(OutputStream ouputStream, List<List<Object>> dataList) {
            try {
                WritableWorkbook book = Workbook.createWorkbook(ouputStream);
                WritableSheet sheet = null;
                //
                Integer column = 0;
                //
                Integer row = 0;
    
                // sheet
                Integer sheetIndex = 0;
                sheet = book.createSheet("sheet" + (sheetIndex + 1), sheetIndex);
                for (Integer index = 0; index < dataList.size(); index++) {
    
                    row = index;
    
                    for (Integer titleIndex = 0; titleIndex < dataList.get(index)
                            .size(); titleIndex++) {
                        String content = String.valueOf(dataList.get(index).get(titleIndex));
                        Label label = new Label(column, row, content);
    
                        sheet.addCell(label);
                        column++;
                    }
                    // 回归到第一列
                    column = 0;
                }
                book.write();
                book.close();
                ouputStream.flush();
                ouputStream.close();
            } catch (IOException e) {
    
                e.printStackTrace();
            } catch (WriteException e) {
    
                e.printStackTrace();
            }
    
    
        }

    使用:

    controller层:

     @RequestMapping(value = "api/upload/excel/{type}", method = RequestMethod.GET)
        @ResponseBody
        public R LoadExcel(@PathVariable(value = "type") String type, HttpServletResponse response) {
            try {
                OutputStream outputStream = response.getOutputStream();
                //设置响应类型
                response.setContentType("application/vnd.ms-excel");
                SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddkkmmssSSS");
                String filename = "Report" + sf.format(new Date());
                //设置响应头
                response.setHeader("Content-disposition", "attachment;filename=" + filename + ".xls");
                byte[] bytes = tanantEMMService.exportExcel(type, outputStream);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
            return R.ok();
        }        

    这一步最重要的就是设置响应类型和响应头,至于为啥。。。  因为我总是忘记咋设置!!!

     public static void excleExport(OutputStream ouputStream, List<List<Object>> dataList) {        try {            WritableWorkbook book = Workbook.createWorkbook(ouputStream);            WritableSheet sheet = null;            // 列            Integer column = 0;            // 行            Integer row = 0;
                // sheet            Integer sheetIndex = 0;            sheet = book.createSheet("sheet" + (sheetIndex + 1), sheetIndex);            for (Integer index = 0; index < dataList.size(); index++) {
                    row = index;
                    for (Integer titleIndex = 0; titleIndex < dataList.get(index)                        .size(); titleIndex++) {                    String content = String.valueOf(dataList.get(index).get(titleIndex));                    Label label = new Label(column, row, content);
                        sheet.addCell(label);                    column++;                }                // 回归到第一列                column = 0;            }            book.write();            book.close();            ouputStream.flush();            ouputStream.close();        } catch (IOException e) {
                e.printStackTrace();        } catch (WriteException e) {
                e.printStackTrace();        }

        }

  • 相关阅读:
    0909《操作系统教程》理解和认识
    1230《操作系统教程》实验四 主存空间的分配和回收模拟
    1203《操作系统教程》实验三 进程调度模拟程序 ——实验点评
    1203《操作系统教程》实验三 进程调度模拟程序
    1111《操作系统教程》实验二 作业调度模拟程序
    实验四 主存空间的分配和回收模拟
    实验三同学互评
    实验三 进程调度模拟程序
    实验二、作业调度模拟实验
    实验一报告
  • 原文地址:https://www.cnblogs.com/yplq/p/9151870.html
Copyright © 2020-2023  润新知