Map map = getSearchValue();File excelFile = orderService.getexportexcel(id,map);InputStream is = null;OutputStream os = null;BufferedInputStream bis = null;BufferedOutputStream bos = null;//以流的形式输出文件try {if (excelFile.exists()) {String fileName = "订单.xls";is = new FileInputStream(excelFile);HttpServletResponse response = ServletActionContext.getResponse();os = response.getOutputStream();bis = new BufferedInputStream(is);bos = new BufferedOutputStream(os);fileName = java.net.URLEncoder.encode(fileName, "UTF-8");// 处理中文文件名的问题// fileName = new String(fileName.getBytes("UTF-8"), "GBK");// 处理中文文件名的问题response.reset();response.setCharacterEncoding("UTF-8");response.setContentType("application/ vnd.ms-excel");// 不同类型的文件对应不同的MIME类型response.setHeader("Content-Disposition","attachment; filename=" + fileName);int bytesRead = 0;byte[] buffer = new byte[1024];while ((bytesRead = bis.read(buffer)) != -1) {bos.write(buffer, 0, bytesRead);// 将文件发送到客户端}bos.flush();}} catch (Exception e) {logger.error(e.getMessage(), e);} finally{IOUtils.closeQuietly(bis);IOUtils.closeQuietly(bos);IOUtils.closeQuietly(is);IOUtils.closeQuietly(os);}
相关文章: