zoukankan      html  css  js  c++  java
  • javaWeb导出POI创建的多个excel的压缩文件

    文件效果图:

    接口代码:

     //测试  http://localhost:8080/admin/test/test/poizip
        @RequestMapping(value = "/poizip")
        public void poizip(HttpServletResponse response) throws IOException {
            //response 输出流
            ServletOutputStream out = response.getOutputStream();
            //压缩输出流
            ZipOutputStream zipOutputStream = new ZipOutputStream(out);
            try {
                for (int i = 0; i < 6; i++) {
                    //创建工作簿
                    HSSFWorkbook wb = new HSSFWorkbook();
                    HSSFSheet sheet = wb.createSheet("sheet" + i);
                    HSSFRow row = sheet.createRow(0);
                    HSSFCell cell = row.createCell(0);
                    cell.setCellValue("内容" + i);
                    response.setContentType("application/octet-stream; charset=utf-8");
                    response.setHeader("Content-Disposition", "attachment; filename=" + Encodes.urlEncode("测试.zip"));
                    //重点开始,创建压缩文件
                    ZipEntry z = new ZipEntry(i + ".xls");
                    zipOutputStream.putNextEntry(z);
                    //写入一个压缩文件
                    wb.write(zipOutputStream);
                }
                zipOutputStream.flush();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                //注意关闭顺序,否则可能文件错误
                if (zipOutputStream != null) {
                    zipOutputStream.close();
                }
                if (out != null) {
                    out.close();
                }
            }
        }
  • 相关阅读:
    磁盘管理之磁盘组成
    用户管理
    定时任务
    虚拟机安装centos6.9
    linux的文件属性与文件权限
    linux磁盘容量不足
    正则表达式与特殊符号
    linux三剑客与正则案例
    借用父构造函数继承属性
    myeclipse常用快捷键
  • 原文地址:https://www.cnblogs.com/lc0605/p/10648510.html
Copyright © 2011-2022 走看看