直接将Excel Sheet写入响应而不在硬盘上创建任何文件?

时间:2014-07-17 13:12:14

标签: java jsp servlets

我开发了一个代码来制作excel文件并将其写入硬盘。我必须在我的网页上提供“另存为Excel”选项。

单击此按钮,我想动态创建excel并将其写入http响应流而不在磁盘上创建任何文件。

我通过将文件写入磁盘并将其复制到响应流来完成相同的pdf,如下所示

              // get your file as InputStream
              InputStream is =  new FileInputStream(dedupePDFPath);;
              // copy it to response's OutputStream
              IOUtils.copy(is, response.getOutputStream());
              response.setContentType("application/pdf");
              response.flushBuffer();

但是这次我不想将文件写入磁盘。怎么办?

1 个答案:

答案 0 :(得分:0)

只需使用Apache POI并将Excel写入任何OutputStream:

HssfWorkbook.write(ServletOutputStream out);

仅供参考,其他剂量不起作用

out.putNextEntry(zipEntry);
                        //out.write(workbook.getBytes(), 0, workbook.getBytes().length); will not work
                        workbook.write(out);
                        out.closeEntry();