【问题标题】:Create XLS file on server and return back to client without saving file on server in java在服务器上创建 XLS 文件并返回给客户端,而不用 Java 将文件保存在服务器上
【发布时间】:2012-03-07 07:07:25
【问题描述】:

在我的 strut2 基础网络应用程序中。当用户单击下载按钮而不将该文件保存在服务器上返回客户端计算机时,我想创建 XLS 文件。

我尝试了不同的库,但没有找到合适的解决方案。

文件保存到客户端浏览器而不是下载窗口是否可以打开保存/取消对话框,用户可以在其中选择要保存的文件位置。

谢谢

【问题讨论】:

  • 绝对有可能。让我们看看答案
  • 将文件保存到客户端浏览器而不是下载窗口是否可以打开保存/取消对话框,用户可以在其中选择要保存的文件位置。

标签: java excel struts2 apache-poi jxl


【解决方案1】:

Apache POI 提供Workbook.write(java.io.OutputStream)。您应该能够访问输出流然后写入它。

有很多来自谷歌的点击 - 这里有一些是is very close

也就是说(来自 Jim Garrison),不要打开 FileOutputStream。 Servlet 将为您提供输出流。写在上面。为了帮助用户使用自动文件名或 MIME 处理程序等,请像可能的文件名一样处理内容。

【讨论】:

  • 是的,我试过这样 fos = new FileOutputStream(filePath);workbook.write(fos);所以需要文件路径?使用 outputStream 的任何其他方式
  • 输出流应该来自 Servlet(或者任何 struts 提供的)
  • +1 - 澄清@Jayan 的评论,您不会打开新的FileOutputStream,而是写入响应对象中servlet 提供给您的那个。
  • @SwapnilSonawane :太好了-我怀疑 jxl 不能支持更新版本的 excel(如果您计划支持超过 65k 行,则需要 xlsx)
猜你喜欢
  • 1970-01-01
  • 2017-06-15
  • 2015-07-26
  • 1970-01-01
  • 2012-12-08
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多