您的位置:首页 > Web前端 > JavaScript

将jsp内容导出为Excel表简单实例

2016-10-10 17:05 274 查看
在网络上有很多关于jsp页面导出为Excel表格的例子,但好多是需要前台与后台相互关联实现的,我在这里的实例是只需要在jsp页面写代码即可实现,代码如下:

testExcel.jsp页面代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:x="urn:schemas-microsoft-com:office:excel">

<script type="text/javascript">
  function exportExcel(){
      window.open('testExcel.jsp?exportToExcel=YES');
  }

</script>
 <head>
<!-- 显示网格线 -->
<xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>工作表标题</x:Name>
<x:WorksheetOptions>
<x:Print>
<x:ValidPrinterInfo />
</x:Print>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
</x:ExcelWorkbook>
</xml>
<!-- 显示网格线 -->

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Export to Excel - Demo</title>
</head>
<body>
<%
String exportToExcel = request.getParameter("exportToExcel");
if (exportToExcel != null
&& exportToExcel.toString().equalsIgnoreCase("YES")) {
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "inline; filename="
+ "excel.xls");

}
%>
<table align="left" border="2">
<thead>
<tr bgcolor="lightgreen">
<th>ID</th>
<th>文本内容</th>
<th>序列</th>
<td style="display: none">序列222</td>
</tr>
</thead>
<tbody>
<%
for (int i = 0; i < 10; i++) {
%>
<tr bgcolor="lightblue">
<td align="center"><%=i%></td>
<td align="center">文本内容 <%=i%></td>
<td align="center"><%=i*10%></td>
<td style="display: none" align="center"><%=i * 20%></td>
</tr>
<%
}
%>
</tbody>
</table>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

<%
if (exportToExcel == null) {
%>
<a href="javascript:exportExcel();">导出为Excel</a>
<%
}
%>
</body>
</html>


PS:当你点击“导出到excel”超链接的时候,所有页面的内容会被导出excel中。但是,我们可能不想让“导出到excel”的超链接出现在excel中。为了阻止它的出现,我们增加了一个判断条件,判断exportToExcel参数是否出现。如果出现,就意味着内容会被导出到excel中,而且不包括超链接。反之,就意味着我们只是想浏览器显示网页,那么超链接会出现在页面上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息