六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 41|回复: 0

query easyui中datagrid数据导出excel

[复制链接]

升级  42%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
21
 楼主| 发表于 2013-1-29 08:39:51 | 显示全部楼层 |阅读模式
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>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表