JSP技巧(-)

JSP技巧篇---Excel报表呈现(1)

写於:2002/9/9 上午 10:54:13

常常有人问我,如果要把资料库的资料,以Excel的档案呈现在使用者的浏览器,该如何做?如果按照正常的方式,我会告诉你该去抓一些class来使用,学习这些class的复杂的方法;或者是透过jdbc-odbc bridge将资料塞入某个Excel档。
这些方法,有的过於复杂,有的需要安装额外元件,有的又只能在window平台下执行,有没有更简单的方法来实现这个构想?
你知道excel能读网页档吗?你可以试着把内含表格资料的网页档另存新档,副档名由.htm改成.xls,然後用excel开启看看,可以看到吗?这是不是给了我们一个构想,假设我们用jsp由资料库抓出资料出来,丢到使用者的浏览器,然後让他的浏览器以为接收到了一个.xls的档,浏览器便会呼叫excel开启这个其实是网页档的xls档,如此,就可以实现表格资料以excel报表的方式展现了!(很偷鸡摸狗吧!实在不够光明正大)
但是,问题在於如何让前端的浏览器以为我们送出的网页是xls档呢?这些资料都是由.jsp来处理的,浏览器怎麽可能会把.jsp当成.xls?我们就来看看怎麽做吧!

一、将网页资料以excel报表以线上浏览方式呈现
请按按钮观看呈现效果--
xls651.jsp原始码如下

<%@ page contentType="application/msexcel" %>

<!-- 以上这行设定本网页为excel格式的网页 -->
<%
response.setHeader("Content-disposition","inline; filename=test1.xls");
//以上这行设定传送到前端浏览器时的档名为test1.xls
//就是靠这一行,让前端浏览器以为接收到一个excel档
%>
<html>
<head>
<title>Excel档案呈现方式</title>
</head>
<body>
<table border="1" width="100%">
<tr>
<td>姓名</td><td>身份证字号</td><td>生日</td>
</tr>
<tr>
<td>李玟</td><td>N111111111</td><td>1900/11/12</td>
</tr>
<tr>
<td>梁静如</td><td>N222222222</td><td>1923/10/1</td>
</tr>
<tr>
<td>张惠妹</td><td>N333333333</td><td>1934/12/18</td>
</tr>
</table>
</body>
</html>



二、将网页资料以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就可以了!)

本档案来自于:
http://www.jsp.mlc.edu.tw/viewitem.jsp?itemid=0000000065

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值