今天又學了一招,jsp轉換成Excel.
在Web應用中,很多數據經常要導出成Excel文檔。用專門的生成真正的Excel文檔的方式比較復雜,不太好用。所以經常用一種簡單的方式來實現,即將報表保存為HTML格式,然后用Excel打開。
實現方式:
第一步,用JSP實現HTML版本的報表
第二步,在該JSP頁面頭部設置response的ContentType為Excel格式
<% response.setContentType("application/vnd.ms-excel;charset=GBK"); %>
中文問題:
查看源代碼時發現JSP文件中寫死的中文為亂碼,則在JSP文件頭部添加一行
<%@ page contentType="text/html; charset=gb2312" %>
查看源代碼時發現文字為中文,但是用Excel打開為亂碼則在<html>與<head>中加入
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
用Servlet實現也是類似的處理方法。
實現樣例:Test.jsp
<%@ page contentType="text/html; charset=GBK" %>
<% response.setContentType("application/vnd.ms-excel;charset=GBK"); %>
<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<head><title>Test</title></head>
<body>
<TABLE borderColor=#111111 cellSpacing=0 cellPadding=2 width=1200 align=center border=1>
<TR>
<TD align=center width="10%" height=20 rowSpan=2>項目 </TD>
<TD align=center width="2%" height=20 rowSpan=2>計量單位 </TD>
<TD align=center width="4%" height=20>滿期賠付率 </TD>
</TR>
</TABLE>
</body>
</HTML>