Java 在ie中打开时Excel名称不正确
我正在尝试从我的应用程序中打开excel工作表。我从我的页面调用下面的方法。但是当excel打开时,它的文件名不是我期望的文件名而是openExcelJava 在ie中打开时Excel名称不正确,java,spring,servlets,Java,Spring,Servlets,我正在尝试从我的应用程序中打开excel工作表。我从我的页面调用下面的方法。但是当excel打开时,它的文件名不是我期望的文件名而是openExcel @RequestMapping(value = "/openExcel.do") protected void openExcel(HttpServletRequest req, HttpServletResponse resp){ String reportName = "testExcel.xls"; String repor
@RequestMapping(value = "/openExcel.do")
protected void openExcel(HttpServletRequest req, HttpServletResponse resp){
String reportName = "testExcel.xls";
String reportPath = "C:\reports\";
String contentType="application/vnd.ms-excel";
resp.setHeader("ContentType", contentType);
resp.setContentType(contentType);
ServletOutputStream out = resp.getOutputStream();
resp.setHeader("Content-disposition", "inline; filename=" + reportName);
String pragma="no-cache";
resp.setHeader("Pragma",pragma);
fileStr = new FileInputStream(new File(reportPath.trim()
+ reportName.trim()));
bis = new BufferedInputStream(fileStr);
bos = new BufferedOutputStream(out);
int len = fileStr.available();
byte[] buff = new byte[len];
int retValue=fileStr.read(buff);
resp.getOutputStream().write(buff);
resp.getOutputStream().flush();
resp.getOutputStream().close();
}
当我改变下一行
resp.setHeader("Content-disposition", "inline; filename=" + reportName);
到
它工作正常,excel的名称显示正确。但是“另存为”弹出窗口没有出现在ie11中,我在ie11的页脚中得到了“打开”或“保存”选项。我需要在弹出窗口中显示该消息,我需要知道为什么content disposition:inline没有正确显示名称。请帮忙。我怀疑你用Java能做多少。你知道这是否可能吗?@Kayaman是的,这段代码在不同的应用程序中运行良好。Excel以正确的名称打开,弹出窗口也将出现。好吧,它似乎与。其他浏览器呢?同样的问题!有什么解决办法吗?
resp.setHeader("Content-disposition", "attachment; filename=" + reportName);