query easyui中datagrid数据导出excel

js方法:
function btn_import_excel(){
var rtnObject_datagrid;
var sql_param = {};
if (jQuery('#swjg').val() != "" && jQuery('#swjg').val() != null) {
sql_param.jgdm = jQuery('#swjg').val();
}
sql_param.pageNumber = jQuery('#pageNumber').val();
sql_param.pageSize = jQuery('#pageSize').val();
alert("fxydtjService.querySwryRw");
var service_datagrid = new CommonService("fxydtjService.querySwryRw",sql_param,"json");
service_datagrid.doService();
if (service_datagrid.getCode() == "2000") {
rtnObject_datagrid = service_datagrid.getResponse();
}else {
rtnObject_datagrid = {total : 0,rows : []};
}
if (rtnObject_datagrid.rows.length == 0) {
alert("查询结果区域没有数据可导出!");
} else {
var data = rtnObject_datagrid;
var columns = $('#bfpryxxlb').datagrid("options").columns;
$('#tableColumnsId').val(JSON.stringify(columns));
$('#tableDataId').val(JSON.stringify(data));
$('#exportFormFf').submit();
}
}

jsp:
<!-- 要导出的数据 -->
<form id="exportFormFf" action="./exporttaskhistory.jsp" method="post">
<input type="hidden" name="tableData" id="tableDataId" value=""/>
<input type="hidden" name="tableColumns" id="tableColumnsId" value=""/>
</form>

jsp中的java代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.List"%>
<%@ page import="java.util.Map" %>
<%@ page import="net.sf.json.JSONObject" %>
<%@ page import="net.sf.json.JSONSerializer" %>
<%
response.reset();
response.setContentType("application/vnd.ms-excel;charset=GBK");
response.setHeader("Content-disposition","attachment; filename=taskhistory.xls" );
%>
<html>
<head>
<%
String tableData =request.getParameter("tableData");
String columns = request.getParameter("tableColumns");

Object list1 = JSONSerializer.toJSON(tableData);
List columns1 = (List)JSONSerializer.toJSON(columns);

Map dataMap1 = (Map) list1;
List data = (List)dataMap1.get("rows");
List columnList = (List)columns1.get(0);
String[] columnsArr = new String[columnList.size()];

for(int i = 0;i < columnList.size(); i++){
Map map = (Map)columnList.get(i);
columnsArr[i] = String.valueOf(map.get("field"));
}

%>
<title>EXCEL</title>
</head>
<body>
<form name="fm" method="post" >
<table cellpadding="5" cellspacing="1" align="center" style="width: 100%;font-size: 9pt;style-align: center;background-color: #ffffff;border: 1px solid #cccccc;">
<tr>
<%for(int i = 0;i < columnList.size(); i++){
Map map =(Map)columnList.get(i);
%>
<td class=formtitle align="center" nowrap style="width:13%;font-size: 9pt;background:#a480b2;color:#ffffff;height:30px;text-align: center;border: 1px solid #cccccc;"><%=map.get("title") %></td>
<%} %>
</tr>

<%for(int j = 0;j < data.size(); j++){
Map map =(Map)data.get(j);
%>
<tr>
<%
for(int k = 0;k < columnsArr.length; k++){
String field = columnsArr[k];
%>
<td class=formtitle2 align="left" nowrap style="width:13%;font-size: 9pt;background:#ffffff;color:#000000;height:30px;text-align: left;border: 1px solid #cccccc;"><%=map.get(field)==null?"":""+map.get(field) %></td>
<%}%>
</tr>
<%} %>
</table>
</form>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值