如何在HttpResponse中发送多个内存工作簿



我手头有一个问题。我必须为我们的内部时间管理系统创建一个导出功能。这里有一个导出按钮,如果我们点击它,所有的数据都会导出到excel表格。

用例是,如果要导出的数据包含多年的数据,则需要为每年创建一个单独的工作簿。

我已经能够创建多个工作簿,但我发现很难将那些在内存中创建的工作簿发送回HttpResponse对象。

我也尝试过使用ZipOutputStream解决方案,但结果是我们只能在ZipEntry对象中添加物理文件。

任何形式的帮助都是感激的。

我也尝试过使用ZipOutputStream解决方案,但事实证明我们只能在ZipEntry对象中添加物理文件。

不正确:

ZipOutputStream zos = new ZipOutputStream(...);
byte[] workBook; //Assign from your POI output
zos.putNextEntry(new ZipEntry("export-for-2016.xls"));
zos.write(workBook);
zos.closeEntry();

(UPDATE为清晰起见)最后三个方法调用可以在需要向zip文件添加对象时多次使用。

Apache common -compress通常更好,但这应该是您开始的基础。

最新更新