JSP XLSX excel文件在Internet Explorer中打开,而不是在Excel中打开

rryofs0p  于 2022-12-31  发布在  其他
关注(0)|答案(1)|浏览(217)

多年来,给定系统的大多数报告都是以.xls格式生成的。最近,我们需要以.xlsx生成报告。
我们使用Apache Poi来形成Excel文件。在Chrome、Mozilla中一切都很好,但在Internet Explorer中,当你点击下载文件时,它不是要求用户打开或保存文件,而是在Internet Explorer中打开它。
下面是当我们打开.xlsx文件时的外观:

但是,如果您打开的文件是在.xls格式,Internet Explorer是要求用户打开它或保存它:

下面是jsp文件中的代码:

Connection conn = cods.getConnection();
if(conn == null || user.getUserCode() == null) {
    pageContext.setAttribute(Resource.SESSION_EXPIRED, Boolean.TRUE);
}   
String repProc      = request.getParameter("repProc")!=null?cods.ConvIso(request.getParameter("repProc")):"";
String repTitle     = cods.ConvIso(request.getParameter("repTitle"));
String repName      = request.getParameter("repName") ;
String fileUrl      = application.getRealPath("/") + "/ibs/rep_svod/rep/";
try {
    
    uz.fido_biznes.cms.rep.Rep report = null;       
    report = new uz.fido_biznes.cms.rep.Rep(pageContext, request.getParameter("SN"), null, repProc, repName,fileUrl);       
    String formed_name = report.printXLSX();  
    out.println(formed_name);
    out.println(fileUrl);
    %><div align="center"><input type="button" class="cbutton" style="width:60%;cursor:hand;" onclick="location.href='<%="rep/"+formed_name%>'" value="Download report"></div>
    <%
}
catch (Exception e){
    out.print(Util.getUserMessage(e));
    Util.alertUserMessage(e, out);
    e.printStackTrace();
}

在Windows本身,Excel被设置为.xlsx文件的默认应用程序。如果您使用Windows自己的资源管理器打开相同的文件,那么使用Excel打开它没有问题,但当您单击从浏览器下载报告按钮时,它会在浏览器本身打开它。
有人有什么建议吗?我哪里做错了?

koaltpgm

koaltpgm1#

更新:我必须mimemappings.properties在weblogic域中创建www.example.com文件并添加以下行:xlsx=应用程序/vnd. openxmlformats-office文档电子表格
重新启动后,它工作正常,并要求用户下载文件。

相关问题