在这种情况下,您不必使用AJAX。只需让您的按钮将表单提交给您的Struts *** 作,然后使该 *** 作使用流结果类型即可。
例:
在您的Struts XML中:
<result name="download" type="stream"> <param name="contentDisposition">attachment;filename=report.xls</param> <param name="contentType">application/vnd.ms-excel</param> <param name="inputName">inputStream</param> <param name="bufferSize">1024</param></result>
然后,您的 *** 作将提供一个
public InputStream getInputStream()传递数据。
我认为无论您使用什么库来生成Excel文件(POI?),都可以将输出写入任意文件
OutputStream。
一种将其转换为的快捷方法
InputStream:
// Using Workbook from Apache POI for example...Workbook wb;// ...ByteArrayOutputStream bos = new ByteArrayOutputStream();wb.write(bos);InputStream bis = new ByteArrayInputStream(bos.toByteArray());
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)