一、将网页资料以excel报表以下载的方式呈现
这个jsp档和上一个差不多,只有差别在这一行:
线上浏览的方式: response.setHeader("Content-disposition","inline; filename=test1.xls");
下载的方式: response.setHeader("Content-disposition","attachment; filename=test2.xls");
附注: 1.以上纯以静态网页的方式呈现excel档,配合资料库,你便能以动态的报表方式做出excel报表了
2.完全不用安装任何元件,或只能受限於win平台,一个简单的方式解决你的报表需求
3.聪明的你,应该能举一反三,知道如何将网页资料以word的doc格式展现了吧!
(是不是只要把contentType改成"application/msword"以及 filename的副档名改成.doc就可以了
<%@page contentType="application/vnd.ms-excel;charset=UTF-8"%>
<%
response.setHeader("Content-disposition","inline; filename=test1.xls"); //在线显示
String pa=this.getClass().getClassLoader().getResource("../../").getPath(); //获取WebRoot的路径
File file=new File(pa+"/test1.xls");
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
OutputStream responseOut = response.getOutputStream();
int bytesRead = 0;
byte[] buffer = new byte[1024];
while ((bytesRead = bis.read(buffer)) != -1) {
responseOut.write(buffer, 0, bytesRead);
}
bis.close();
responseOut.close();
%>
Word页面需要在JSP文件头设置如下指令。
<%@page contentType="application/vnd.ms-word;charset=GBK"%>
Excel页面需要在JSP文件头设置如下指令。
<%@page contentType="application/vnd.ms-excel;charset=GBK"%>
这个在ie下可以使用.