我编写了Java代码,将excel发送到客户端。当用户单击页面中的按钮时,我从java脚本调用servlet。但文件在同一个浏览器中打开。相反,如果没有保存/关闭对话框,如何以excel格式打开文件而不是浏览器?
Java脚本单击一个按钮
window.location = url+'?Data='+Math.random();
爪哇
String ramdonNumber =this.getHttpRequest().getParameter("Data");
System.out.println("Inside Action"+ramdonNumber);
File file = new File("C:/Documents and Settings/XXXXXX/Desktop/RevisedAvailableSeatForSRESR.xls");
try {
this.setFileInputStream(new FileInputStream(file));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
HttpServletResponse response = this.getHttpResponse();
response.setHeader("Content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"inline;filename=\"" + file.getName() + ".xls\";");
答案 0 :(得分:0)
如果您想告诉客户显示“另存为...”-dialog,您应该使用attachment
代替inline
Content-Disposition
。
response.setHeader("Content-Disposition", "attachment;filename=\"" + file.getName() + ".xls\";");
Chapter 19.5.1 of RFC-2616中提供了更多信息。
答案 1 :(得分:0)
您需要使用 Apache POI 库来操作Office文档。 http://poi.apache.org/