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>
分享到:
相关推荐
下面将详细介绍两种有效的方法来实现EasyUI Datagrid数据导出到Excel的功能,并结合提供的文件名来推测具体实现步骤。 **方法一:使用JavaScript库(例如wxport)** 文件`wxport excel.txt`可能包含了使用wxport库...
在IT行业中,前端数据处理和展示是至关重要的,特别是在企业级应用中,用户往往需要将大量数据导出为便于分析的格式,如Excel。本文将详细介绍如何在基于EasyUI的前端框架下实现数据导出为Excel的功能。 EasyUI是一...
easyui-datagrid导出至Excel插件,中文没有乱码问题。
### easyui的datagrid数据excel导出 #### 一、知识点概览 1. **EasyUI框架简介** 2. **DataGrid组件概述** 3. **DataGrid的列配置** 4. **将DataGrid转换为表格(Table)结构** 5. **导出至Excel的具体实现** 6. *...
在导出数据到Excel时,你需要创建一个HSSFWorkbook对象,这是NPOI中表示Excel工作簿的类。接着,创建HSSFSheet对象来代表Excel工作表,然后创建HSSFRow对象来表示行,HSSFCell对象来表示单元格。通过设置单元格的值...
"EasyUI Datagrid 导出到Excel"这一主题涉及的是如何将EasyUI Datagrid中的数据显示在Excel表格中,方便用户进行数据处理和分析。以下是对这个知识点的详细说明: 1. EasyUI Datagrid简介: EasyUI Datagrid是基于...
easyui的datagrid的数据渲染
JS EasyUI DataGrid是一款基于jQuery和EasyUI框架的数据表格组件,它提供了丰富的功能,如数据分页、排序、过滤和自定义操作等。在实际应用中,动态加载数据是DataGrid的一个重要特性,允许用户在需要时加载更多的...
本文将详细介绍如何使用EasyUI导出datagrid中的数据到Excel。 1. EasyUI DataGrid概述 EasyUI的DataGrid是一个强大的表格组件,它可以加载JSON或XML格式的数据,支持排序、分页、过滤等功能。在网页应用中,...
之前有介绍过如何实现easyui里datagrid内容的打印,今天给大家介绍下如何实现datagrid内容导出为excel文件。以下为代码实现: export.js function ChangeToTable(printDatagrid) { var tableString = '...
Jquery_easyui_datagrid_js导出excel 能够很好实现导出
项目工具代码,中间包含了service和controller两层,model可以自己定义
easyUI中datagrid鼠标悬浮显示图片,博客地址:https://blog.csdn.net/lwf3115841/article/details/119531658?spm=1001.2014.3001.5501
### 知识点二:导出数据到Excel的实现原理 文档中提到的方法是通过提取DataGrid Panel中的数据(store),使用columnModel构建XML Excel文档,然后将其转换为Base64编码,最终将所有内容加载到DataURL链接中。这个...
本文主要探讨的是如何利用jQuery EasyUI的DataGrid和combobox组件实现多级联动的效果,这对于在数据录入时需要根据上一级选择动态更新下一级选项的情况非常有用,比如在本例中的“老师分类”和“老师细类”。...
easyui datagrid 导出到Excel js实现 跨浏览器 资源真实可用
在描述中提到的"easyui的datagrid生成合并行,合计计算价格",指的是如何使用EasyUI的DataGrid组件来实现表格数据的行合并以及总价的计算功能。以下是对这个知识点的详细解释: 1. EasyUI DataGrid组件: EasyUI的...
SSM(Spring、SpringMVC、MyBatis)框架与EasyUI的结合是Java Web开发中常见的技术栈,尤其在处理数据展示和导出时表现出高效性和灵活性。本项目通过这种方式,提供了一种将数据库中的数据导出为Excel表格的方法。 ...
### easyui的datagrid中editor和combobox的级联 在前端开发中,easyui是一个非常实用的库,它提供了一套完整的用户界面组件,能够帮助开发者快速构建出功能丰富的Web应用。其中,`datagrid`是easyui提供的一个重要...
jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) Demo 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停离开事件,源码奉献!!!