excel模板下载

    @RequestMapping("/downExcel")
    public void downExcel(HttpServletResponse response, HttpServletRequest request) {
        try {
            response.setContentType("text/html;charset=utf-8");
            request.setCharacterEncoding("UTF-8");
            java.io.BufferedInputStream bis = null;
            java.io.BufferedOutputStream bos = null;
            String fileName = "demo.xls";
            String ctxPath = request.getSession().getServletContext().getRealPath("/") + File.separator + "jsp"
                    + File.separator + "expertdiagnosis" + File.separator;
            String downLoadPath = ctxPath + fileName;
            System.out.println(downLoadPath);
            try {
                long fileLength = new File(downLoadPath).length();
                response.setContentType("application/x-msdownload;");
                response.setHeader("Content-disposition",
                        "attachment; filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1"));
                response.setHeader("Content-Length", String.valueOf(fileLength));
                bis = new BufferedInputStream(new FileInputStream(downLoadPath));
                bos = new BufferedOutputStream(response.getOutputStream());
                byte[] buff = new byte[2048];
                int bytesRead;
                while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
                    bos.write(buff, 0, bytesRead);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (bis != null)
                    try {
                        bis.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                if (bos != null)
                    try {
                        bos.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
            }
        } catch (UnsupportedEncodingException e1) {
            e1.printStackTrace();
        }
    }

 

posted @ 2017-07-04 14:48  JLCUI  阅读(219)  评论(0编辑  收藏  举报