• Java Web利用POI导出Excel简单例子


    采用Spring mvc架构: 
    Controller层代码如下 
    Java代码  收藏代码
    1. @Controller  
    2. public class StudentExportController{  
    3.   
    4.     @Autowired  
    5.     private StudentExportService studentExportService;  
    6.   
    7.     @RequestMapping(value = "/excel/export")  
    8.     public void exportExcel(HttpServletRequest request, HttpServletResponse response)   
    9.     throws Exception {  
    10.           
    11.         List<Student> list = new ArrayList<Student>();  
    12.         list.add(new Student(1000,"zhangsan","20"));  
    13.         list.add(new Student(1001,"lisi","23"));  
    14.         list.add(new Student(1002,"wangwu","25"));  
    15.         HSSFWorkbook wb = studentExportService.export(list);  
    16.         response.setContentType("application/vnd.ms-excel");  
    17.         response.setHeader("Content-disposition", "attachment;filename=student.xls");  
    18.         OutputStream ouputStream = response.getOutputStream();  
    19.         wb.write(ouputStream);  
    20.         ouputStream.flush();  
    21.         ouputStream.close();  
    22.    }  
    23. }  

    Service层代码如下: 
    Java代码  收藏代码
    1. @Service  
    2. public class StudentExportService {  
    3.   
    4.     String[] excelHeader = { "Sno", "Name", "Age"};  
    5.     public HSSFWorkbook export(List<Student> list) {  
    6.         HSSFWorkbook wb = new HSSFWorkbook();  
    7.         HSSFSheet sheet = wb.createSheet("Student");  
    8.         HSSFRow row = sheet.createRow((int) 0);  
    9.         HSSFCellStyle style = wb.createCellStyle();  
    10.         style.setAlignment(HSSFCellStyle.ALIGN_CENTER);  
    11.   
    12.         for (int i = 0; i < excelHeader.length; i++) {  
    13.             HSSFCell cell = row.createCell(i);  
    14.             cell.setCellValue(excelHeader[i]);  
    15.             cell.setCellStyle(style);  
    16.             sheet.autoSizeColumn(i);  
    17.          // sheet.SetColumnWidth(i, 100 * 256);  
    18.         }  
    19.   
    20.         for (int i = 0; i < list.size(); i++) {  
    21.             row = sheet.createRow(i + 1);  
    22.             Student student = list.get(i);  
    23.             row.createCell(0).setCellValue(student.getSno());  
    24.             row.createCell(1).setCellValue(student.getName());  
    25.             row.createCell(2).setCellValue(student.getAge());  
    26.         }  
    27.         return wb;  
    28.     }  
    29. }  


    前台的js代码如下: 
    Javascript代码  收藏代码
    1. <script>  
    2. function exportExcel(){  
    3.      location.href="excel/export";  
    4.      <!--这里不能用ajax请求,ajax请求无法弹出下载保存对话框-->  
    5.  }  
    6. </script>  
     
  • 相关阅读:
    一条痛并快乐的路
    Daily Scrum 11.1
    Daily Scrum 10.31
    Daily Scrum 10.30
    Daily Scrum 10.29
    Daily Scrum 10.28
    Daily Scrum 10.27
    (Alpha)Let's-Chronos分数分配规则
    Daily Scrum 10.26
    Daily Scrum 10.25
  • 原文地址:https://www.cnblogs.com/jxldjsn/p/5632164.html
Copyright © 2020-2023  润新知