在服务器上创建XLS文件并返回到客户端,而不在服务器上用java保存文件

在服务器上创建XLS文件并返回到客户端,而不在服务器上用java保存文件,java,excel,struts2,apache-poi,jxl,Java,Excel,Struts2,Apache Poi,Jxl,在我的strut2基础web应用程序中。我想创建XLS文件时,用户点击下载按钮,而不保存在服务器上的文件返回到客户端机器 我尝试了不同的库,但没有找到合适的解决方案 此外,“将文件保存到客户端浏览器”而不是“下载”窗口可以打开“保存/取消”对话框,用户可以在其中选择要保存的文件位置 谢谢ApachePOI提供了Workbook.write(java.io.OutputStream)。您应该能够访问输出流,然后对其进行写入 有很多点击来自谷歌-这里是一些 也就是说(来自Jim Garrison),

在我的strut2基础web应用程序中。我想创建XLS文件时,用户点击下载按钮,而不保存在服务器上的文件返回到客户端机器

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


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


谢谢

ApachePOI提供了
Workbook.write(java.io.OutputStream)
。您应该能够访问输出流,然后对其进行写入

有很多点击来自谷歌-这里是一些


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

绝对可能。让我们看看答案将文件保存到客户端浏览器而不是下载窗口是否可以打开“保存/取消”对话框,用户可以在其中选择要保存的文件位置。是的,我尝试过这样做,如fos=新文件输出流(文件路径);练习册。写作(fos);那么需要文件路径吗?使用OutputStream的任何其他方法输出流应该来自Servlet(或struts提供的)+1-为了澄清@Jayan的评论,您没有打开新的
文件OutputStream
,而是写入Servlet在响应对象中提供给您的文件。@SwapnilSonawane:Great-我怀疑jxl无法支持更新版本的excel(xlsx-如果计划支持超过65k行,则需要)