首先定义前端页面的书写格式,如图:

定义完了页面其次需要js函数,如下代码:

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/include.inc.jsp"%><!-- 导出Excel选择面板开始 --><div class="pageContent" id="exportControlDiv" style="display:none;background-color:#fff;border:1px solid #5195B7;position:absolute;left:0px;top:0px;width:250px;height:200px;"><div class="panelBar"><div onclick='$("#exportControlDiv",navTab.getCurrentPanel()).hide();' style="float:right;padding-top:2px;padding-right:5px;cursor:pointer;"><img src="${base}/common/images/no.jpg" /></div><div><input type="button" name="全选" value="全选" onclick="fieldAllSel(1);" /><input type="button" name="反选" value="反选" onclick="fieldAllSel(0);"/></div></div><div style="height: 145px; overflow: auto;"><ul id="fieldsUl"><li><input type="checkbox" checked class="filedsLi" />测试</li></ul></div><div class="panelBar"><input type="button" name="导出" value="点击导出Excel" onclick="exportExcel();"/></div></div><!-- 导出Excel选择面板结束 -->
<script>//启动时给表单添加隐藏域$(document).ready(function(){var doneDeskTop = "${__is_desktop_}";var eForm = null;if(doneDeskTop == "true"){eForm=$("form.excel");}else{eForm=$(navTab.getCurrentPanel()).find("form.excel");}if(eForm.length>0){//如果找到了,则递交var excelFileName="";var fileDateStr=new Date().formatDate('yyyy-MM-dd');if($(eForm[0]).attr("excelFileName")==undefined || $(eForm[0]).attr("excelFileName")==''){ console.log(eForm[0]);alert('请您配置Form的excelFileName(导入文件名)属性');excelFileName="excel数据导出"+"("+fileDateStr+")";}else{console.log(eForm[0]);excelFileName=$(eForm[0]).attr("excelFileName")+"("+fileDateStr+")";}//alert(excelFileName);//创建隐藏的divdivHtml='<!-- 专为Excel下载添加的隐藏域 -->'+'<div>'+'<input type="hidden" id="createExcelFlag" name="createExcelFlag" value="${createExcelFlag}" /> <!-- 是否创建Excel标识,默认为0 -->'+'<input type="hidden" id="fvals" name="fvals" value="" /><!-- 对象属性名称-->'+'<input type="hidden" id="fnames" name="fnames" value="" /> <!-- EXCEL的中文列名 -->'+'<input type="hidden" id="excelFileName" name="excelFileName" value="'+excelFileName+'"/> <!-- EXCEL的文件名,可由界面的form的设定动态改变-->'+'</div>';$(eForm[0]).append(divHtml);console.log(eForm)}}); //表单递交function exportExcel(){//1.设置一下隐藏域的值$("#createExcelFlag",navTab.getCurrentPanel()).val("1");//document.excelForm.submit();var eForm=$(navTab.getCurrentPanel()).find("form.excel");if(eForm.length>0){//如果找到了,则递交eForm[0].submit();}$("#exportControlDiv",navTab.getCurrentPanel()).hide();}//全选反选function fieldAllSel(flag){if(flag==1){$(".filedsLi",navTab.getCurrentPanel()).attr("checked",true);getAllSelVal();}else{$(".filedsLi",navTab.getCurrentPanel()).attr("checked",false);getAllSelVal();}}//遍历取值function getAllSelVal(){$("#fvals",navTab.getCurrentPanel()).val("");$("#fnames",navTab.getCurrentPanel()).val("");$(".filedsLi",navTab.getCurrentPanel()).each(function(){if($(this).attr("checked")){//给隐藏域赋值$("#fvals",navTab.getCurrentPanel()).val($("#fvals",navTab.getCurrentPanel()).val()+$(this).val()+"|");$("#fnames",navTab.getCurrentPanel()).val($("#fnames",navTab.getCurrentPanel()).val()+$(this).attr("fname")+"|");}});}//checkBox选择function fieldSel(obj){getAllSelVal();}function createExcel(){        //1.弹出的DIV定位var X = ($(window).width()/2-200)-$("#exportControlDiv",navTab.getCurrentPanel()).width()/2; var Y =($(window).height()-200)/2-$("#exportControlDiv",navTab.getCurrentPanel()).height()/2; $("#exportControlDiv",navTab.getCurrentPanel()).css("left",X+"px");$("#exportControlDiv",navTab.getCurrentPanel()).css("top",Y+"px");//2.填充字段选择//2.1读取所有的字段信息$("#fieldsUl",navTab.getCurrentPanel()).empty();$(".exportField",navTab.getCurrentPanel()).each(function(){var liInfo='<li><input onclick="fieldSel(this);" fname="'+$(this).text()+'" type="checkbox" value="'+$(this).attr("exportFiledName")+'" checked class="filedsLi" />'+$(this).text()+'</li>';//加入列表框$("#fieldsUl",navTab.getCurrentPanel()).append(liInfo);//给隐藏域赋值$("#fvals",navTab.getCurrentPanel()).val($("#fvals",navTab.getCurrentPanel()).val()+$(this).attr("exportFiledName")+"|");$("#fnames",navTab.getCurrentPanel()).val($("#fnames",navTab.getCurrentPanel()).val()+$(this).text()+"|");});$("#exportControlDiv",navTab.getCurrentPanel()).show();}
</script>

前端页面定义form路径,以便提交操作!

<form method="post" name="excelForm" excelFileName="这个是表头,也可以在后台定义"  rel="pagerForms"  class="excel"  action="自己的路径" onsubmit="return navTabSearch(this)">

--------------------------前后端分界线--------------------------
控制层:
首先查询后台获取数据,List<>

//前端设置参数,0为读取数据,1为导出
if(createExcelFlag==null || !createExcelFlag.equals("1")){request.setAttribute("createExcelFlag", "0");//注意一定要设置一下request.setAttribute("list", list);request.setAttribute("applyOrganCode",overTimeApplication.getApplyOrganCode());request.setAttribute("dept",selectorService.findDeptsByTableName("t_code_department"));String user= SecurityUtils.getCurrentUserName();return "/dwz/management/overTime/view";}else{System.out.println("-----开始创建Excel---");//得到要生成的列的字段String fvals=request.getParameter("fvals");String fnames=request.getParameter("fnames");/*/
/***********以下为生成EXCEL的处理******************************//*** 2.生成Excel*/OverTimeApplication overTime = new OverTimeApplication();overTime.setProject("合计:");overTime.setMoney(money);list.add(overTime);//给最后一行自定义//这个前台会传,但是这里后台定义了新的名称String fileName= request.getParameter("excelFileName");//这个由前台传,这里先暂设一个String[] headers= StringUtil.split(fnames.substring(0,fnames.length()-1), '|');//去掉最后的 |再切String[] outFields=StringUtil.split(fvals.substring(0,fvals.length()-1), '|');ExportExcel e=new ExportExcel<OverTimeApplication>();response.reset();response.addHeader("Content-Disposition", "attachment;filename="+ new String((fileName+".xlsx").getBytes("utf-8"), "ISO8859-1"));response.setContentType("application/vnd.ms-excel;charset=utf-8");e.exportExcel(fileName,headers,outFields,list,response.getOutputStream(),"yyyy-MM-dd");response.flushBuffer();/*/
/***********生成EXCEL的处理完毕******************************/return null;}

DWZ excel文件导出(全过程)相关推荐

  1. excel文件导出相应数据统计内容

    这次完成了一个以excel文件导出相应数据统计内容的功能,选取其中的一个放在下面: 1.首先在资源文件夹下创建一个excel的package,并创建一个xlsx文件 创建的时候要注意版本兼容问题,20 ...

  2. 泛微Excel文件导出

    泛微Excel文件导出 说明 前端代码 前端页面现有的id和name标准规格.配置页面: js代码: js代码注意点: 后端代码 jsp代码获取到数据并把数据以Excel形式表现出来 FL_Excel ...

  3. c#实现将Excel文件导出为csv和UTF8格式的txt文件

    工作中为了方便,经常使用excel表进行编辑,然后转换为程序用的csv和txt文件. 用c#做了个小工具,生成的exe文件放到需要转换的excel文件目录,可以实在自动读取该目录下的所有xlsx文件, ...

  4. Excel文件导出list对象

    Excel文件导出 excel导出xls.csv格式的list对象 1.Excel文件工具类 public class ExcelUtils {private static String sheetN ...

  5. 如何优雅地实现 Excel 文件导出功能?(阿里出品的 EasyExcel,安利一波)

    EasyExcel 前言 导出是后台管理系统的常用功能,当数据量特别大的时候会内存溢出和卡顿页面,曾经自己封装过一个导出,POI百万级大数据量EXCEL导出 采用了分批查询数据来避免内存溢出和使用SX ...

  6. Excel文件导出总结,包含大数据量的分批导出方式

    文章目录 需求背景 参考内容 导出方式 代码实现 Excel4J 普通导出 POI原生方式 普通导出 大数据量分批导出 依赖版本 实现思路 POI工具类 数据写入 调用测试 测试结果 一个小意外 Ea ...

  7. @excel注解_惊了!如何通过阿里 EasyExcel 7 行代码, 优雅地实现 Excel 文件导出功能?...

    目录 一.前言 二.Apache poi.jxl 的缺陷 三.阿里出品的 EasyExcel,安利一波 四.EasyExcel 解决了什么 五.快速上手 六.特殊场景支持 七.Web 下载示例代码 八 ...

  8. @excel 注解_7 行代码实现 Excel 文件导出

    作 者:犬小哈 来 源:首发自「小哈学Java」 广而告之:由于此订阅号换了个皮肤,系统自动取消了读者的公众号置顶.导致用户接受文章不及时.可以打开订阅号,选择置顶(标星)公众号,重磅干货,第一时间送 ...

  9. php excel文件导出之二 图像导出

    PHP文件导出 之图像 和 文字同一时候导出 事实上之前写了个php文件导出.跟这个极为相似,由于项目须要对图像进行导出.查询一番.又写了一个, 这个能实现图像的导出(仅仅能是本地图像,不能使用远程图 ...

最新文章

  1. 敏感数据,“一键脱敏”,Sharding Sphere 完美搞定
  2. mac brew重装apache_记一次 Mac 安装 Pygame 报错的故事 -- 手把手系列~
  3. php缓存accestoken_PHP获取微信access_token并缓存和自动更新
  4. Dlib机器学习库安装
  5. 基于canvas的骨骼动画
  6. JS基础9-BOM常用对象(window和history)
  7. Linux风雨20年回顾 道路是沧桑
  8. python print table_python 6.7 编写printTable()函数表格打印(完整代码)
  9. 对象转map工具类BeanUtil
  10. html修改鼠标手势,css设置鼠标手势的方法
  11. Session简单使用
  12. arccatalog点要素显示不完_利用ArcCatalog 管理地理空间数据库
  13. 项目经理如何做好授权管理?
  14. 基于Trtc的内贸站视频聊天服务
  15. 干货|最全焊接不良汇总,你知道如何避免吗?
  16. vmware esx简介
  17. Excel图表7——漏斗图
  18. 计算机教育杂志有核心期刊吗,计算机教育杂志是核心期刊吗?
  19. 理解字节序 [Understanding Big and Little Endian Byte Order]
  20. html编写阶乘,阶乘的实现

热门文章

  1. frameset框架的简单使用
  2. 字节跳动要上市?估值4000亿美元
  3. 【直击DTCC】从技术到艺术的转身 IBM赋能数据可视化
  4. shell学习之常用技巧
  5. 扫描邮箱密码(当你密码忘记的时候用的上啊)
  6. 俺的DBA之路----全文完
  7. 【P1369】矩形(贪心)
  8. 关于调用unzip解压含很多文件时,只解压出一部分问题的解决办法
  9. 2020年进销存软件对比
  10. 世界头一个!美国建立无人机数据中心