Jsp/Servlet + POI 导出 Excel

测试环境 Servlet/Struts2 + POI 3.7

支持导出 Excel2003/2007格式,导出文件名支持中文,无乱码

更多详情见代码及方法注释,附:POI下载 POI操作指南

/** 

 * Jsp/Servlet + POI 导出 Excel 

 *  

 * @param response  HttpServletResponse 

 * @param wb  HSSFWorkbook/XSSFWorkbook 

 * @param fileName  xxx.xls(97-03)/xxx.xlsx(07-10) 

 * @throws IOException 

 */ 

publicstaticvoid exportExcel(HttpServletResponse response, Workbook wb, 

        String fileName) throws IOException { 

    // 如果文件名有中文,必须URL编码 

    fileName = URLEncoder.encode(fileName, "UTF-8"); 

    response.reset(); 

    // ContentType 可以不设置 

    response.setContentType("application/vnd.ms-excel;charset=UTF-8"); 

    response.setHeader("Content-Disposition", "attachment;filename=" + fileName); 

    wb.write(response.getOutputStream()); 

    response.getOutputStream().flush(); 

    response.getOutputStream().close(); 

}

posted on 2012-03-11 18:22  zhanqi  阅读(2462)  评论(0编辑  收藏  举报