java - 如何通过设置内容类型以 .xlsx 保存文件

标签 java jsp

代码在下面给出的jsp中尝试过。下面的代码打开窗口资源管理器以将文件保存到.xlsx(使用chrome浏览器),但要求是在单击图标时自动下载文件。尝试了类似问题的解决方案发布在堆栈溢出中,但找不到问题的正确解决方案。

在浏览器 Firefox 和 Chrome 中检查解决方案

<%@ taglib uri="/struts-tags" prefix="s"%>
<%
    response.setContentType("application/application/vnd.openxmlformats-
     officedocument.spreadsheetml.sheet");
     response.setHeader ("Content-Disposition", 
     "attachment;fileName=tempAuthorizationCloseOutReportsResult.xlsx;");
 %>

 <s:set var="resultList" value="#request.tempAuthorizationCloseoutResult" />


 <div>
    <h3></h3>
 </div>
<br/>
<s:if test="#resultList.size <= 0">
     <table>
      <tr>
        <td>    
            <b> <s:text name="ui.label.text.norecordsfound" /> </b>
        </td>
      </tr>
    </table>
</s:if>

<s:elseif test="#resultList.size> 0">
 <table>
  <tr>
    <td>    
        <b><s:text name="ui.label.text.totalnumberofrecordsfound"/> : 
        <s:property value="#resultList.size" /> </b>
    </td>
  </tr>
</table>

最佳答案

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8");

        File xfile = < File>

        try (BufferedOutputStream bfos = new BufferedOutputStream(response.getOutputStream());
                FileInputStream fs = new FileInputStream(xfile)) {
            byte[] buffer = new byte[fs.available()];
            fs.read(buffer);

            bfos.write(buffer, 0, buffer.length);
            bfos.flush();
        }
 }

关于java - 如何通过设置内容类型以 .xlsx 保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47283915/

相关文章:

java - gridheight 不会影响我的按钮

java - 使用 Spring Boot 配置 Heroku Apache Kafka

javascript - 获取打开jquery对话框的按钮的id

java - 如何在 scriptlet 中使用 JSP 中可用的对象,可以这样做吗

java - 目标 org.jvnet.jax-ws-commons :jaxws-maven-plugin:2. 3:wsgen 的执行失败

java - Raspberry PI GPIO Java 代码错误

css - 属性 nth-child 似乎在 JSP CSS 中不起作用

java - 创建递归方法的返回类型

javascript - onclick contact() 上的动态消息,不传递值

java - Interstitial Ad 的 Listener 的 onAdLoaded() 不会运行