简单Excel导出功能

来源:互联网 发布:淘宝如何打上新品标签 编辑:程序博客网 时间:2024/05/22 19:22

前台js

function exportXlsx(){window.location.href="pmtaskController.do?exportXlsx";//不要用ajax方式,否则不能弹出下载框}

后台

    public static void exportExcel(String[] headers, List<TaskEntity> tasks, String pattern,HttpServletResponse response)throws Exception {//创建一个工作簿 即excel文件,再在该文件中创建一个sheet          HSSFWorkbook wb=new HSSFWorkbook();          HSSFSheet sheet=wb.createSheet("项目计划");        //在sheet中创建一行          HSSFRow row=sheet.createRow(0);          //表头        for(int i = 0; i < headers.length; i++){            row.createCell(i).setCellValue(headers[i]);        }        for(int i = 0; i < tasks.size(); i++){            row = sheet.createRow(i+1);            //设置每一行中每个表格的数据            row.createCell(0).setCellValue(tasks.get(i).getSn());            row.createCell(1).setCellValue(tasks.get(i).getName());            row.createCell(2).setCellValue(tasks.get(i).getOwnerName());            row.createCell(3).setCellValue(tasks.get(i).getDeptName());            row.createCell(4).setCellValue(tasks.get(i).getStatus());            row.createCell(5).setCellValue(tasks.get(i).getTaskLevel());            row.createCell(6).setCellValue(getFormatDate(tasks.get(i).getStartDate(),pattern));            row.createCell(7).setCellValue(getFormatDate(tasks.get(i).getFinishDate(),pattern));            row.createCell(8).setCellValue(getFormatDate(tasks.get(i).getActualFinishDate(),pattern));            row.createCell(9).setCellValue(tasks.get(i).getWorkload());            row.createCell(10).setCellValue(tasks.get(i).getDuration());        }        // 输出Excel文件OutputStream output = response.getOutputStream();response.setContentType("application/vnd.ms-excel;charset=utf-8");// 2003String fileName = "项目计划.xlsx";response.setHeader("Content-disposition","attachment; filename="+ new String(fileName.getBytes(),"iso-8859-1"));wb.write(output);output.flush();output.close();response.flushBuffer();    }    public static String getFormatDate(Date date,String pattern) {if(null != date){    return DateUtils.formatDate(date,pattern);}return "";    }



原创粉丝点击