使用Java压缩多个excel文件

使用Java压缩多个excel文件,java,Java,我必须用POI读写多个excel文件,并使用ZipoutStream下载。下面的代码将文件存档在D磁盘中,但如何使用ApachePOI创建和编写excel文件,然后通过ZipoutStream将其存档 public void zipFiles(HttpServletResponse response, Workbook workbook, String fileName) throws IOException { response.setStatus(HttpServletRespon

我必须用POI读写多个excel文件,并使用ZipoutStream下载。下面的代码将文件存档在D磁盘中,但如何使用ApachePOI创建和编写excel文件,然后通过ZipoutStream将其存档

public void zipFiles(HttpServletResponse response, Workbook workbook, String fileName) throws IOException {

    response.setStatus(HttpServletResponse.SC_OK);
    response.addHeader("Content-Disposition", "attachment; filename=\""+ fileName +".zip\"");

    ZipOutputStream zipOutputStream = new ZipOutputStream(response.getOutputStream());
    // create a list to add files to be zipped
    ArrayList<File> files = new ArrayList<>(2);


    files.add(new File("D://兵庫_WEB申請書.xls"));
    files.add(new File("D://兵庫_取消申請書.xls"));
    // package files
    for (File file : files) {
        zipOutputStream.putNextEntry(new ZipEntry(file.getName()));
        FileInputStream fileInputStream = new FileInputStream(file);
        IOUtils.copy(fileInputStream, zipOutputStream);
        fileInputStream.close();
        zipOutputStream.closeEntry();
    }    
    zipOutputStream.close();
}
public void zipFiles(HttpServletResponse响应,工作簿,字符串文件名)引发IOException{
response.setStatus(HttpServletResponse.SC_OK);
addHeader(“内容处置”、“附件;文件名=\”“+filename+”.zip\”);
ZipOutputStream ZipOutputStream=新的ZipOutputStream(response.getOutputStream());
//创建列表以添加要压缩的文件
ArrayList文件=新的ArrayList(2);
文件。添加(新文件(“D://兵庫_网状物申請書.xls);;
文件。添加(新文件(“D://兵庫_取消申請書.xls);;
//包文件
用于(文件:文件){
putNextEntry(新的ZipEntry(file.getName());
FileInputStream FileInputStream=新的FileInputStream(文件);
复制(fileInputStream、ZipoutStream);
fileInputStream.close();
zipOutputStream.closeEntry();
}    
zipOutputStream.close();
}

您可以使用Apache POI创建Excel文件,然后将文件名存储在
ArrayList
中,然后将字符串作为新文件循环以填充到ZipoutPuti中。这是关于POI的问题,还是关于压缩的问题?看起来您正在尝试下载压缩。你们是从哪里得到这个问题的?我建议你们一步一步地解决这个问题。首先了解如何生成excel文件,然后了解如何使用文件创建存档。然后关注转移归档文件的请求。目前,我不确定您被困在哪里,因此无法提供更多帮助。@mrblewog我有zip文件的示例代码,但它的zip文件存在于D磁盘中,但我想使用POI创建新的excel文件(例如test.xls、test2.xls),我想知道如何压缩test.xls、test2.xls