思路:把table转成json数据传到后台(需要用到jquery.tabletojson.min.js),json转成list<list<String>>类型。利用poi导出excel
需要先导入poi jar包
前台代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>POI</title>
<meta http-equiv="pragma" content="no-cache"> <span id="transmark"></span>
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.tabletojson.js"></script>
<script type="text/javascript">
function exportExcel(fileName,tableId){
var table = $("#"+tableId).tableToJSON();
console.log(table);
var json = JSON.stringify(table);
var nodes = $("#"+tableId+" thead tr").children();
var headers = "";
$.each(nodes,function(i,item){
headers += item.innerHTML+",";
})
//调用post方法
post('${ctx}/user/p2pUserInformation/exportExcel', {fileName :fileName,headers:headers,json:json});
}
function post(url, params) {
var temp = document.createElement("form");
temp.action = url;
temp.method = "post";
temp.style.display = "none";
for (var x in params) {
var opt = document.createElement("input");
opt.name = x;
opt.value = params[x];
temp.appendChild(opt);
}
document.body.appendChild(temp);
temp.submit();
return temp;
}
</script>
</head>
<body>
<table id="test">
<thead>
<tr><td>序号</td><td>姓名/td><td>name</td></tr>
</thead>
<tr><td>1<