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方法完善相关推荐

  1. ASP .Net C# ---Excel导入导出方法

    导入导出的方法以及引用,可以自行创建一个帮助类 using System; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI ...

  2. jeecg v2.3 版本excel导入测试

    参考excel的导入的说明程序,excel文件可以顺利导入,但是根据系统设定的Excel的注释功能和导入程序,系统是通过第一行的标题和注释进行对比进行数据获取,因为数据文件中的标题容易出现错误,于是通 ...

  3. 史上最简单的Excel导入通讯录方法

    开发记录 第一天 第二天 第三天 第四天 第N天 第一天 说来话长,这是一个悲伤的故事. 事情的起因,是因为魔都我被封在家里,寂寞难耐的心始终不知道该干点啥,然后就撩起了当设计师的妹子,正巧那天晚上妹 ...

  4. 一个基于POI的通用excel导入导出工具类的简单实现及使用方法

    前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...

  5. 【飞秋】ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码

    最近闲了,花点几天时间将项目中常用的一些类.方法做了一下总结,希望对大家有用. 实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回fa ...

  6. 关于excel导入到封装成工具类jar包和web版门店收银网络无法无法连接上的解决方法...

    2011-12-4 1.excel导入工具封装碰到如何给传输过来的泛型对象进行对象点Setter的方法,解决方法应该可以查看struts2框架的源码查看他在拦截器作用下是怎么给action这个类的一个 ...

  7. python导入excel文件-python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  8. php 导入表格数据,PHPExcel 导入Excel数据的方法

    这篇文章主要介绍了关于PHPExcel 导入Excel数据的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 一:使用composer下载 phpoffice/phpexcel 或者 ...

  9. excel导入数据库的简单方法

    一个简单的方法将excel导入数据库 private void Plan_Import_Execl()         {             OpenFileDialog fileDialog ...

最新文章

  1. 【EMC】电磁兼容性相关名词解释、基础知识
  2. 【超赞】技术架构的战略和战术原则
  3. 十一届蓝桥杯java组-蓝肽子序列-动态规划
  4. 导出 C/C++ API 给 Lua 使用[转]
  5. Socket支持多用户并发访问的解决办法
  6. ASA对FTP的审查抓包测试
  7. zone.js在bootstrap阶段对window对象里一些标准方法的注入逻辑
  8. S/4HANA生产订单的标准状态和透明工厂原型状态的映射
  9. Matlab无法使用GBK编码保存文件,改用UTF-8编码
  10. Base64原理及魔改更换码表
  11. 计算机一些常用快捷指令
  12. 流传千古的爱情传说原来竟是一个先劫色后劫财的骗局
  13. 基于Android的办公自动化系统APP设计与实现
  14. 【矩阵论】2. 矩阵分解——SVD
  15. Typora+PicGo+Gitee
  16. van-icon自定义图标的引入
  17. 59 Three.js 渲染两个场景和使用不同的相机,渲染在一个场景里面
  18. springboot o.a.tomcat.util.scan.StandardJarScanner : Failed to scan [file:/D:/apache-maven-3.0.5
  19. codeforces 463D Gargari and Permutations
  20. 应用线性代数简介 - 向量,矩阵和最小二乘法 By Stephen Boyd and Lieven Vandenberghe

热门文章

  1. c语言实现进程调度优先权调度算法和时间片轮转调度算法
  2. java生成txt表格_java读取txt文件表格并生成新txt
  3. CSS基础 外部样式表 内嵌样式表 行内样式表
  4. ​【安全牛学习笔记】端口扫描(二)
  5. 计算机毕业设计django基于python智能在线考试阅卷系统
  6. Python使用Reportlab处理PDF数据 - 图形和图表
  7. 无源域适应(SFDA)方向的领域探究和论文复现(第一部分)
  8. 关于WEB端实现电子海图研究之思路
  9. 滑模变结构控制理论及应用 [陈志梅 著] 2012年
  10. Echarts之圆饼图用法