jeecg v3.6.6 excel导入js方法完善

jeecg v3.6.6 excel通过的导入方法,需要Flash支持,所以自己修改了下,先标记,日后慢慢完善

1、列表页面

 1 <t:datagrid name="jzyxfkAirportsList" checkbox="true" fitColumns="true" title="机场信息表" actionUrl="jzyxfkAirportsController.do?datagrid" idField="id"
 2    fit="true" queryMode="group" sortName="id" sortOrder="asc">
 3     <t:dgCol title="自动编号"  field="ref" hidden="true" queryMode="group"  width="120"></t:dgCol>
 4      <t:dgCol title="机场三字代码"  field="id" query="true" queryMode="single"  width="120"></t:dgCol>
 5     <t:dgCol title="国际民航组织代码"  field="icao" hidden="true"   queryMode="group"  width="120"></t:dgCol>
 6      <t:dgCol title="英文名称"  field="name" hidden="true"  queryMode="single" width="120"></t:dgCol>
 7     <t:dgCol title="中文名称"  field="nameZh" query="true" queryMode="single" width="120"></t:dgCol>
 8      <t:dgToolBar title="录入" icon="icon-add" url="jzyxfkAirportsController.do?goUpdate" funname="addbytab"></t:dgToolBar>
 9     <t:dgToolBar title="编辑" icon="icon-edit" url="jzyxfkAirportsController.do?goUpdate" funname="updatebytab"></t:dgToolBar>
10     <t:dgToolBar title="批量删除"  icon="icon-remove" url="jzyxfkAirportsController.do?doBatchDel" funname="deleteALLSelect"></t:dgToolBar>
11     <t:dgToolBar title="查看" icon="icon-search" url="jzyxfkAirportsController.do?goUpdate" funname="detailbytab"></t:dgToolBar>
12     <t:dgToolBar title="导入" icon="icon-put" funname="ImportXls"></t:dgToolBar>
13   </t:datagrid>
14 <script type="text/javascript">
15 //导入
16 function ImportXls() {
17     openuploadwina(‘Excel导入‘, ‘jzyxfkAirportsController.do?upload‘, "jzyxfkAirportsList");
18 }
19  </script>

2、创建上传页面窗口js公共方法

 1 function openuploadwina(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();    //刷新父级页面
27
28                 }
29             }
30         ]
31     });
32 }

3、Controller方法

 1 /**
 2      * 导入功能跳转
 3      *
 4      * @return
 5      */
 6     @RequestMapping(params = "upload")
 7     public ModelAndView 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:base type="jquery,easyui,tools"></t:base>
<script type="text/javascript" src="<%=basePath %>/plug-in/Validform/js/Validform_v5.3.1_min_zh-cn.js"></script>
<script type="text/javascript" src="<%=basePath %>/plug-in/jquery/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="<%=basePath %>/plug-in/jquery-plugs/form/jquery.form.js"></script>
<script type="text/javascript" src="../../../plug-in/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="../../../plug-in/easyui/locale/zh-cn.js"></script>
<link rel="stylesheet" href="plug-in/Validform/css/metrole/divfrom.css" type="text/css">
<link rel="stylesheet" href="plug-in/Validform/css/metrole/style.css" type="text/css">
<link rel="stylesheet" href="plug-in/Validform/css/metrole/tablefrom.css" type="text/css">
<style type="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>
<script type="text/javascript">
//提交表单 */
function submitForm(){var option = {
          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);
}

//弹出加载层
function load() {
     var div=$("#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"
     });
}
//取消加载层
function disLoad() {
    $("#ldg_lockmask" , parent.document).css("z-index","2010");
    $("#ldg_lockmask .datagrid-mask-msg" , parent.document).remove();
}
function doChoose(evt){
   $(evt).parent("div").find("input[type=‘file‘]").click();
}

function doUpload(){
   var files = 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>
<body style="overflow-y: hidden;padding: 0px; margin:0px;" scroll="no">
    <div id="steps">
        <form action="${controller_name}.do?importExcel" method="post" enctype="multipart/form-data" id="formobj">
            <div class="form">
                <button type="button" class="btn btn-primary" onclick="doChoose(this)">
                    <i class="fa fa-plus"></i>选择需要导入的文件
                </button>
                <font id="path"></font>
                <input type="file" name="files" id="uploadFile" style="display: none;" onchange="doUpload()">
                <input type="submit" onclick="submitForm()" value="提交" class="ace_button" id="subBtn">
            </div>
            <div class="msg form"><p id="filediv"></p></div>
        </form>
    </div>
</body>
</html>

原文地址:https://www.cnblogs.com/22MM/p/10278239.html

时间: 2024-10-10 11:01:24

jeecg v3.6.6 excel导入js方法完善的相关文章

Java中Excel导入功能实现、excel导入公共方法_POI -

这是一个思路希望能帮助到大家:如果大家有更好的解决方法希望分享出来 公司导入是这样做的 每个到导入的地方 @Override public List<DataImportMessage> materialDataImport2(byte[] fileBytes, String fileName) { //return DataImport(fileBytes, fileName, "inv_m"); File file = FileUtils.getFileFromByte

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

前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴.经过思考,认为一百个客户在录入excel的时候,就会有一百个格式版本,所以在实现这个功能之前,所以要统一excel的格式.于是提供了一个通用excel模版的下载功能.当所有客户用模版录入好数据再上传到系统,后端对excel进行解析,然后再持久化到数据库. 概述: 此工具类的几大特点 1.基本导入导出

c#中高效的excel导入sqlserver的方法

将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用 bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现.不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而 真正的导入过程只需要4.5秒. using System;using System.Data;using System.Windo

开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出

 开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出 14.EXCEL导入导出 Excel的导入导出抽取通用功能,简化大家对POI的操作,对实体对象进行简单的注解配置就可以完成导入导出,模板的使用更是可以让打造漂亮的Excle报表,从而使大家从重复的工作中解脱出来,更加关注与业务的处理. 14.1注解介绍    注解名 作用对象 描述 是否必须 Excel 字段 对Excel字段的cell属性设置 是 ExcelCollection 字段 对集合对象进行标记表示一对多导出 否 E

Oracle导入excel数据快速方法

Oracle导入excel数据快速方法 使用PLSQL  Developer工具,这个可是大名鼎鼎的Oracle  DBA最常使用的工具.    在单个文件不大的情况下(少于100000行),并且目的表结构已经存在的情况下——对于excel而言肯定不会超过了,因为excel文件的最大行为65536——  可以全选数据复制,然后用PLSQL  Developer工具.    1  在PLSQL  Developer的sql  window里输入select  *  from  test  for 

从SQL Server中导入/导出 Excel 的基本方法

/*=================== 导入/导出 Excel 的基本方法 ===================*/ 从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*===================================================================*/ --如果接受数据导入的表已经存在 insert into 表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.

C#实现Excel导入sqlite的方法

本文实例讲述了C#实现Excel导入sqlite的方法,是非常实用的技巧.分享给大家供大家参考.具体方法如下: 首先需要引用system.date.sqlite 具体实现代码如下: system.date.sqlite system.date.sqlite.linq //导入--Excel导入sqlite private void button2_Click(object sender, EventArgs e) { DAL.Sqlite da = new DAL.Sqlite("DataByE

IE 导入 EXCEL 的 readExcelIE() 方法,处理对象数组中有不存在值的对象元素的方案

IE11遇到情况如下: ? ? 经过如此强大的.filter(item => item != null)处理之后: ? 完美!!! IE导入EXCEL的readExcelIE方法,遇到这个鬼SHI大坑处理方法:关键是这段代码:.filter(item => item != null),因为IE11大佬测试起来很卡,笔记本都发烫了蓝瘦香菇...搞了一晚终于可用纪念一哈... for (let i of this.arrObj) { // if ([...Object.values(i)].fil

php开发中Excel导入功能的具体实现方法

对于在做php开发项目中,一般的项目设计到最多用到的是Excel的导出功能,而对于其导入功能一般是很少见的,而且对于php开发中Excel的导入功能也要比导出功能开发起来更困难一些,那么今天就来分享一下php开发中Excel导入功能的具体实现步骤: 1.首先将下载下来的PHP Excel插件代码放入项目/Thinkphp/Extend/Vendor/下; 2.在模板添加导入功能; html代码实现如下:<form action="{:U('Turntable/imports')}"