1. 生成字节数组输出流ByteArrayOutputStream:
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
2. 由字节数组输出流生成zip输出流ZipOutputStream:
ZipOutputStream zipOutputStream = new ZipOutputStream(byteArrayOutputStream);
3. 循环每个excel文件,将每个excel文件写入zip输出流中:
//给每个excel文件命名
ZipEntry e = new ZipEntry(“file name");
zipOutputStream.putNextEntry(e);
//将对应的excel文件写入zip输出流中
workbook.write(zipOutputStream);
zipOutputStream.closeEntry();
4. 循环结束后,结束向zip输出流写入内容:
zipOutputStream.finish();
5. 此时文件内容已经存在于字节数组输出流中,可以从字节数组输出流中得到字节数组进行后续的下载操作等:
downloadZipFile(byteArrayOutputStream.toByteArray());