JSP导出Excel报表的简单方法

  提问: 7 年 前 最后更新: 2 年 前 浏览数: 17472
2
1

在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实现也是类似的处理方法。 

实现样例:

<%@ page contentType="text/html; charset=UTF-8" %>
<% response.setContentType("application/vnd.ms-excel;charset=UTF-8"); %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<body>
 <table cellpadding="1" cellspacing="1"  border="1">
  <tr>
  <td colspan="5" align="center">
  ${ticketname}
  </td>
  </tr>
  <tr class="dan_tr">
   <th>使用时间</th>
   <th>使用者</th>
   <th>传播者</th>
   <th>使用地点</th>
   <th>消耗积分</th>
  </tr>
  <c:forEach var="list" items="${list}">
  <tr align="center">
   <td width="135">${list.userDate}</td>
   <td width="100">${list.userName}</td>
   <td width="100">${list.puserName}</td>
   <td width="350">${list.userCorp}</td>
   <td>${list.integral}分</td>
  </tr>
  </c:forEach>
 </table>
</body>

提问时间 2011-11-04 17:19

openkk的头像

openkk
56 3 1
答案被采用率: 0.0%


简单的报表,用jxl就挺好使的。复杂的恐怕就不怎么好用了。可以参考PageOffice插件试试,生成excel填充数据之后另存就可以实现

回答于 2016-09-12 11:56

3065399685的头像

3065399685
0 0 1
答案被采用率: 0.0%

这不是excel,这样的格式不是合法的excel文件,可以用PageOffice产品操作excel,导出的excel文件完全是合法格式的

回答于 2016-09-13 09:46

ziwuxian的头像

ziwuxian
0 0 1
答案被采用率: 0.0%

貌似好像没有什么简单的方法呀,还是得用JXL或者是POI

回答于 2011-11-04 17:26

elvishehai的头像

elvishehai
0 0 1
答案被采用率: 0.0%

对于简单点的报表。这种方法,还是很好用的。

7 年 前 openkk
您的回答:

  

powered by Open-Open.com