/** *Controller层 */ @RequestMapping("/downUserInfo") public void downUserInfo(HttpServletRequest request, HttpServletResponse response) { try { djsService.downUserInfo(request, response); } catch (Exception e) { e.printStackTrace(); } } /** * service层 * 下载所有报名学员信息 * @throws Exception */ public void downUserInfo(HttpServletRequest request,HttpServletResponse response) throws Exception { Listusers = djsDao.findAllUser(); //查询所有的报名学员 File file = UserInfoPoiUtil.write2003(users, request); //将学员信息写入到excel中 DownLoadUtil.downLoad(request, response, file); //下载文件 } /** * 将学员信息写入到excel中 */ public static File write2003(List users,HttpServletRequest request)throws Exception{ File src=new File(request.getSession().getServletContext().getRealPath("/poi/userInfo.xls")); File dest=new File(request.getSession().getServletContext().getRealPath("/temp/userInfo.xls")); FileUtil fileUtil=FileUtil.getInstance(); fileUtil.copy(src, dest); FileInputStream in = new FileInputStream(dest); HSSFWorkbook wb = new HSSFWorkbook(in); //获得表单 HSSFSheet sheet = wb.getSheetAt(0); // 获取字体 HSSFFont font = wb.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 字体增粗 for(int i=0;i
需要注意的问题:
1、excel2003和excel2007是不同的。详细区别自己查
2、excel表格的类型,一般设置为text文本类型即可。
3、excel表格中数据对应。
4、记得写操作以及关闭流的操作。
5、excel文件命名一般不要出现中文名,使用英文名,再不济汉语拼音也可以。(如果是中文名的话,需要做相应的修改。例如将tomcat的编码格式配置为utf8)