jeecg v3.6.6 excel导入js方法完善
jeecg v3.6.6 excel通过的导入方法,需要Flash支持,所以自己修改了下。大致思路是创建文件上传窗口公共js方法时,点击上传按钮时出发子页面(上传页面)中隐藏的提交按钮,给隐藏的提交按钮,写一个表单提交方法,从而提交整个表单。
这个思路中比较麻烦的就是①需要在父级页面中出发iframe页面中的指定按钮 ②关闭上传窗口时刷新父窗体
(方法略差 >_<)先标记,日后慢慢完善。
1、列表页面,触发导入方法
1 <t:datagridname="jzyxfkAirportsList"checkbox="true"fitColumns="true"title="机场信息表"actionUrl="jzyxfkAirportsController.do?datagrid"idField="id" 2 fit="true"queryMode="group"sortName="id"sortOrder="asc"> 3 <t:dgColtitle="自动编号"field="ref"hidden="true"queryMode="group"width="120"></t:dgCol> 4 <t:dgColtitle="机场三字代码"field="id"query="true"queryMode="single"width="120"></t:dgCol> 5 <t:dgColtitle="国际民航组织代码"field="icao"hidden="true"queryMode="group"width="120"></t:dgCol> 6 <t:dgColtitle="英文名称"field="name"hidden="true"queryMode="single"width="120"></t:dgCol> 7 <t:dgColtitle="中文名称"field="nameZh"query="true"queryMode="single"width="120"></t:dgCol> 8 <t:dgToolBartitle="录入"icon="icon-add"url="jzyxfkAirportsController.do?goUpdate"funname="addbytab"></t:dgToolBar> 9 <t:dgToolBartitle="编辑"icon="icon-edit"url="jzyxfkAirportsController.do?goUpdate"funname="updatebytab"></t:dgToolBar> 10 <t:dgToolBartitle="批量删除"icon="icon-remove"url="jzyxfkAirportsController.do?doBatchDel"funname="deleteALLSelect"></t:dgToolBar> 11 <t:dgToolBartitle="查看"icon="icon-search"url="jzyxfkAirportsController.do?goUpdate"funname="detailbytab"></t:dgToolBar> 12 <t:dgToolBartitle="导入"icon="icon-put"funname="ImportXls"></t:dgToolBar> 13 </t:datagrid> 14 <scripttype="text/javascript"> 15 //导入 16 functionImportXls() {17 openuploadwina('Excel导入','jzyxfkAirportsController.do?upload',"jzyxfkAirportsList");18 }19 </script>
2、创建上传页面窗口js公共方法
1 functionopenuploadwina(title, url,name,width, height) {2 gridname=name;3 $.dialog({4 width:700,5 height:400,6 content: 'url:'+url,7 title:title,8 zIndex: getzIndex(),9 cache:false,10 lock : true, //开启遮罩层11 opacity : 0.3,12 button: [13 {14 name: "开始上传",15 callback: function(){16 var iframe = this.iframe.contentWindow; //获取iframe对象17 $('#subBtn', iframe.document).click(); //点击“开始上传”按钮,触发iframe页面隐藏的提交按钮18 return false;19 },20 focus: true 21 },22 {23 name: "取消上传",24 cancel: true,25 callback: function(){26 document.location.reload(); //刷新父级页面,也可以用frameElement.api.opener.location.reload(),但是dialog出现lock : true属性时,会出现出现frameElement.api is undefined的错误27 28 }29 }30 ]31 });32 }
3、Controller方法,跳转到上传页面
1 /** 2 * 导入功能跳转3 *4 *@return 5 */ 6 @RequestMapping(params = "upload")7 publicModelAndView upload(HttpServletRequest req) {8 req.setAttribute("controller_name","jzyxfkAirportsController");9 return new ModelAndView("common/upload/pub_excel_upload");10 }
4、上传页面,点击“开始上传”按钮,触发上传页面隐藏的提交按钮,触发表单提交方法。
<%@ page language="java"import="java.util.*"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> <!DOCTYPE html> <html> <head> <title>通用Excel导入${controller_name}</title> <t:basetype="jquery,easyui,tools"></t:base> <scripttype="text/javascript"src="<%=basePath %>/plug-in/Validform/js/Validform_v5.3.1_min_zh-cn.js"></script> <scripttype="text/javascript"src="<%=basePath %>/plug-in/jquery/jquery-1.8.3.min.js"></script> <scripttype="text/javascript"src="<%=basePath %>/plug-in/jquery-plugs/form/jquery.form.js"></script> <scripttype="text/javascript"src="../../../plug-in/easyui/jquery.easyui.min.js"></script> <scripttype="text/javascript"src="../../../plug-in/easyui/locale/zh-cn.js"></script> <linkrel="stylesheet"href="plug-in/Validform/css/metrole/divfrom.css"type="text/css"> <linkrel="stylesheet"href="plug-in/Validform/css/metrole/style.css"type="text/css"> <linkrel="stylesheet"href="plug-in/Validform/css/metrole/tablefrom.css"type="text/css"> <styletype="text/css">#steps form button{font-size:14px;margin-left:5px;display:inline-block;}#path{font-size:14px;font-weight:bold;}div.msg{display:none; }#filediv{max-height:300px;overflow-x:hidden;font-size:13px;line-height:30px;padding-left:10px;}#filediv b i{font-size:14px;}#filediv i{color:#f97186;font-style:normal;padding:0px 2px;}#subBtn{display:none;} </style> <scripttype="text/javascript"> //提交表单 */ functionsubmitForm(){varoption={url :'${controller_name}.do?importExcel',type :'POST',dataType :'json',beforeSend:function() {load();},complete:function() {disLoad();},success :function(data) {$(".msg").show();$("#filediv").html(data.msg);},error:function(data) {disLoad();$.messager.alert("提示","请求超时请重试");}};$('#formobj').ajaxForm(option); }//弹出加载层 functionload() {vardiv=$("#ldg_lockmask", parent.document);$(div).css("z-index","99999");$("<div class=\"datagrid-mask-msg\"></div>").html("导入中,请稍候。。。").appendTo(div).css({"display":"block","height":"42px","line-height":"42px","text-indent":"2em","width":"159px","background":"#fff url('/plug-in/easyui/themes/metrole/images/loading.gif') no-repeat scroll 5px center","position":"absolute","left":"40%","top":"40%","text-align":"center"}); }//取消加载层 functiondisLoad() { $("#ldg_lockmask", parent.document).css("z-index","2010");$("#ldg_lockmask .datagrid-mask-msg", parent.document).remove(); }functiondoChoose(evt){$(evt).parent("div").find("input[type='file']").click(); }functiondoUpload(){varfiles=document.getElementById("uploadFile").files[0];if(files!= null &&files!=undefined&&files!= "") {$("#path").html(document.getElementById("uploadFile").value);}else{$.messager.alert("提示","请重新选择文件");document.selection.empty();} }</script> </head> <bodystyle="overflow-y: hidden;padding: 0px; margin:0px;"scroll="no"><divid="steps"><formaction="${controller_name}.do?importExcel"method="post"enctype="multipart/form-data"id="formobj"><divclass="form"><buttontype="button"class="btn btn-primary"onclick="doChoose(this)"><iclass="fa fa-plus"></i>选择需要导入的文件</button><fontid="path"></font><inputtype="file"name="files"id="uploadFile"style="display: none;"onchange="doUpload()"><inputtype="submit"onclick="submitForm()"value="提交"class="ace_button"id="subBtn"></div><divclass="msg form"><pid="filediv"></p></div></form></div> </body> </html>
转载于:https://www.cnblogs.com/22MM/p/10278239.html
jeecg v3.6.6 excel导入js方法完善相关推荐
- ASP .Net C# ---Excel导入导出方法
导入导出的方法以及引用,可以自行创建一个帮助类 using System; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI ...
- jeecg v2.3 版本excel导入测试
参考excel的导入的说明程序,excel文件可以顺利导入,但是根据系统设定的Excel的注释功能和导入程序,系统是通过第一行的标题和注释进行对比进行数据获取,因为数据文件中的标题容易出现错误,于是通 ...
- 史上最简单的Excel导入通讯录方法
开发记录 第一天 第二天 第三天 第四天 第N天 第一天 说来话长,这是一个悲伤的故事. 事情的起因,是因为魔都我被封在家里,寂寞难耐的心始终不知道该干点啥,然后就撩起了当设计师的妹子,正巧那天晚上妹 ...
- 一个基于POI的通用excel导入导出工具类的简单实现及使用方法
前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...
- 【飞秋】ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
最近闲了,花点几天时间将项目中常用的一些类.方法做了一下总结,希望对大家有用. 实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回fa ...
- 关于excel导入到封装成工具类jar包和web版门店收银网络无法无法连接上的解决方法...
2011-12-4 1.excel导入工具封装碰到如何给传输过来的泛型对象进行对象点Setter的方法,解决方法应该可以查看struts2框架的源码查看他在拦截器作用下是怎么给action这个类的一个 ...
- python导入excel文件-python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- php 导入表格数据,PHPExcel 导入Excel数据的方法
这篇文章主要介绍了关于PHPExcel 导入Excel数据的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 一:使用composer下载 phpoffice/phpexcel 或者 ...
- excel导入数据库的简单方法
一个简单的方法将excel导入数据库 private void Plan_Import_Execl() { OpenFileDialog fileDialog ...
最新文章
- 【EMC】电磁兼容性相关名词解释、基础知识
- 【超赞】技术架构的战略和战术原则
- 十一届蓝桥杯java组-蓝肽子序列-动态规划
- 导出 C/C++ API 给 Lua 使用[转]
- Socket支持多用户并发访问的解决办法
- ASA对FTP的审查抓包测试
- zone.js在bootstrap阶段对window对象里一些标准方法的注入逻辑
- S/4HANA生产订单的标准状态和透明工厂原型状态的映射
- Matlab无法使用GBK编码保存文件,改用UTF-8编码
- Base64原理及魔改更换码表
- 计算机一些常用快捷指令
- 流传千古的爱情传说原来竟是一个先劫色后劫财的骗局
- 基于Android的办公自动化系统APP设计与实现
- 【矩阵论】2. 矩阵分解——SVD
- Typora+PicGo+Gitee
- van-icon自定义图标的引入
- 59 Three.js 渲染两个场景和使用不同的相机,渲染在一个场景里面
- springboot o.a.tomcat.util.scan.StandardJarScanner : Failed to scan [file:/D:/apache-maven-3.0.5
- codeforces 463D Gargari and Permutations
- 应用线性代数简介 - 向量,矩阵和最小二乘法 By Stephen Boyd and Lieven Vandenberghe