DWZ excel文件导出(全过程)
首先定义前端页面的书写格式,如图:
定义完了页面其次需要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文件导出(全过程)相关推荐
- excel文件导出相应数据统计内容
这次完成了一个以excel文件导出相应数据统计内容的功能,选取其中的一个放在下面: 1.首先在资源文件夹下创建一个excel的package,并创建一个xlsx文件 创建的时候要注意版本兼容问题,20 ...
- 泛微Excel文件导出
泛微Excel文件导出 说明 前端代码 前端页面现有的id和name标准规格.配置页面: js代码: js代码注意点: 后端代码 jsp代码获取到数据并把数据以Excel形式表现出来 FL_Excel ...
- c#实现将Excel文件导出为csv和UTF8格式的txt文件
工作中为了方便,经常使用excel表进行编辑,然后转换为程序用的csv和txt文件. 用c#做了个小工具,生成的exe文件放到需要转换的excel文件目录,可以实在自动读取该目录下的所有xlsx文件, ...
- Excel文件导出list对象
Excel文件导出 excel导出xls.csv格式的list对象 1.Excel文件工具类 public class ExcelUtils {private static String sheetN ...
- 如何优雅地实现 Excel 文件导出功能?(阿里出品的 EasyExcel,安利一波)
EasyExcel 前言 导出是后台管理系统的常用功能,当数据量特别大的时候会内存溢出和卡顿页面,曾经自己封装过一个导出,POI百万级大数据量EXCEL导出 采用了分批查询数据来避免内存溢出和使用SX ...
- Excel文件导出总结,包含大数据量的分批导出方式
文章目录 需求背景 参考内容 导出方式 代码实现 Excel4J 普通导出 POI原生方式 普通导出 大数据量分批导出 依赖版本 实现思路 POI工具类 数据写入 调用测试 测试结果 一个小意外 Ea ...
- @excel注解_惊了!如何通过阿里 EasyExcel 7 行代码, 优雅地实现 Excel 文件导出功能?...
目录 一.前言 二.Apache poi.jxl 的缺陷 三.阿里出品的 EasyExcel,安利一波 四.EasyExcel 解决了什么 五.快速上手 六.特殊场景支持 七.Web 下载示例代码 八 ...
- @excel 注解_7 行代码实现 Excel 文件导出
作 者:犬小哈 来 源:首发自「小哈学Java」 广而告之:由于此订阅号换了个皮肤,系统自动取消了读者的公众号置顶.导致用户接受文章不及时.可以打开订阅号,选择置顶(标星)公众号,重磅干货,第一时间送 ...
- php excel文件导出之二 图像导出
PHP文件导出 之图像 和 文字同一时候导出 事实上之前写了个php文件导出.跟这个极为相似,由于项目须要对图像进行导出.查询一番.又写了一个, 这个能实现图像的导出(仅仅能是本地图像,不能使用远程图 ...
最新文章
- 敏感数据,“一键脱敏”,Sharding Sphere 完美搞定
- mac brew重装apache_记一次 Mac 安装 Pygame 报错的故事 -- 手把手系列~
- php缓存accestoken_PHP获取微信access_token并缓存和自动更新
- Dlib机器学习库安装
- 基于canvas的骨骼动画
- JS基础9-BOM常用对象(window和history)
- Linux风雨20年回顾 道路是沧桑
- python print table_python 6.7 编写printTable()函数表格打印(完整代码)
- 对象转map工具类BeanUtil
- html修改鼠标手势,css设置鼠标手势的方法
- Session简单使用
- arccatalog点要素显示不完_利用ArcCatalog 管理地理空间数据库
- 项目经理如何做好授权管理?
- 基于Trtc的内贸站视频聊天服务
- 干货|最全焊接不良汇总,你知道如何避免吗?
- vmware esx简介
- Excel图表7——漏斗图
- 计算机教育杂志有核心期刊吗,计算机教育杂志是核心期刊吗?
- 理解字节序 [Understanding Big and Little Endian Byte Order]
- html编写阶乘,阶乘的实现