JEPaaS 社区

 找回密码
 立即注册
JECloud低代码平台-官网
查看: 2692|回复: 0

【平台配置】JEPaaS实现单功能按照Excel模板导入

[复制链接]

10

主题

11

帖子

132

积分

凯特员工

积分
132
发表于 2022-4-12 09:23:09 | 显示全部楼层 |阅读模式
本帖最后由 凯特-姚帅龙 于 2022-4-18 22:57 编辑

JEPaaS低代码开发平台中的Excel导入
一、实现效果
导入的Excel如下
1.png
二、实现思路
1.在Excel数据导入创建一条数据
2.配置Excel信息
3.配置sheet页信息

4.配置功能和按钮
三、具体操作

1.进入Excel数据导入功能
2.png
2.点击创建后维护以下信息
3.png
3.点击导入明细
4.png
4.维护sheet页的详细信息,所占列必须跟Excel模板所占列保持一致。
5.png

5.功能配置
expGroup         模板编码
expExcelTypes  TEMPLATE
6.png
6.按钮配置
创建一个导入按钮,按钮点击事件如下(注意Excel模板编码 groupExcelCode)

  1. function(btn,event,eOpts){
  2.     var jegridview = btn.up("jegridview");
  3.     groupExcelCode = "JEEXCEL00000004";
  4.     params = {};
  5.     JE.uploadFile({
  6.         multiSelect: false, //单附件 true为多附件
  7.         callback: function (cfg, data) {//data是所有数据
  8.             if (data.success) {
  9.                 params.groupCode = groupExcelCode;
  10.                 params.fileKey = cfg.id;
  11.                 //调用zip解析
  12.                 var resObj = JE.ajax({
  13.                     url: '/je/develop/excel/uploadFile',
  14.                     params:params
  15.                 });
  16.                 if(!resObj.success){               
  17.                     JE.alert(resObj.obj);
  18.                     return;            
  19.                 }
  20.                 resObj=resObj.obj;
  21.                 if (resObj.PREVIEW == "1") {
  22.                     var sheetInfos = resObj.SHEETINFO;
  23.                     var items = new Array();
  24.                     var temIds = new Array();
  25.                     Ext.each(sheetInfos, function (sheetInfo) {
  26.                         var func = JE.getFuncData("JE_EXCEL_DATATEMP");
  27.                         temIds.push(sheetInfo.temId);
  28.                         func.info.j_query=[{"type":"=","code":"JE_EXCEL_CONFIGTEMP_ID","value":sheetInfo.temId,"cn":"and"}];
  29.                         var columns = new Array();
  30.                         columns.push({
  31.                             xtype: "rownumberer",
  32.                             width: 35,
  33.                             text: 'No.',
  34.                             align: 'center'
  35.                         })
  36.                         Ext.each(sheetInfo.columns, function (column) {
  37.                             Ext.each(func.grid.columns, function (col) {
  38.                                 if (col.dataIndex == column.dataIndex) {
  39.                                     var field = column.field;
  40.                                     delete column.field;
  41.                                     var _column = Ext.apply(col, column);
  42.                                     if (field) {
  43.                                         //更新编辑组件属性
  44.                                         Ext.each(['field', 'searchField', 'editField'], function (name) {
  45.                                             if (_column[name]) {
  46.                                                 Ext.apply(_column[name], field);
  47.                                             }
  48.                                         });
  49.                                     }
  50.                                     if (_column.field && ["rgroup", 'cgroup', 'cbbfield'].indexOf(_column.field.xtype) != -1) {
  51.                                         _column.tactics = [{ type: 'dic', dicCode: _column.field.configInfo.split(',')[0] }];
  52.                                         _column.renderer = JE.renderer;
  53.                                     }
  54.                                     columns.push(_column);
  55.                                     return false;
  56.                                 } else if (["JE_EXCEL_CONFIGTEMP_ID", "CODE", "MSG", "JE_EXCEL_DATATEMP_ID"].indexOf(col.dataIndex) != -1) {
  57.                                     columns.push(col);
  58.                                 }
  59.                             });
  60.                         });
  61.                         columns.push({
  62.                             text: "状态",
  63.                             dataIndex: "CODE",
  64.                             renderer: JE.renderer,
  65.                             width: 80,
  66.                             tactics: [{ bgCss: true, type: 'dic', dicCode: 'JE_EXCEL_DATASTATUS' }],
  67.                             field: {
  68.                                 xtype: "cbbfield",
  69.                                 configInfo: 'JE_EXCEL_DATASTATUS'
  70.                             }
  71.                         })
  72.                         columns.push({
  73.                             text: "状态消息",
  74.                             dataIndex: "MSG",
  75.                             width: 300,
  76.                             sortable: false,
  77.                             field: {
  78.                                 xtype: "textfield"
  79.                             }
  80.                         })

  81.                         func.grid.columns = columns;
  82.                         items.push({
  83.                             xtype: 'jemainview',
  84.                             bodyPadding: 1,
  85.                             title: sheetInfo.sheetName,
  86.                             idSuffix: "JE_EXCEL_DATATEMP" + sheetInfo.sheetIndex,
  87.                             funcData: func,
  88.                             border: 1,
  89.                             columns: sheetInfo.columns
  90.                         });
  91.                     });
  92.                     JE.win({
  93.                         title: "数据预处理",
  94.                         items: [{
  95.                             border: 0,
  96.                             xtype: "tabpanel",
  97.                             items: items
  98.                         }],
  99.                         useButton: true,
  100.                         autoShow: true,
  101.                         fn: function (win) {
  102.                             var resObj = JE.ajax({ url: "/develop/excelAction!doPreviewData.action", params: { groupCode: groupCode, temIds: temIds.join(",") } });
  103.                             if (resObj.success) {
  104.                                 jegridview.store.load();
  105.                                 JE.msg("数据处理成功");
  106.                             } else {
  107.                                 JE.alert(resObj.obj);
  108.                             }
  109.                         }
  110.                     })
  111.                 } else {
  112.                     jegridview.store.load();
  113.                     JE.msg("导入成功!");
  114.                 }
  115.             } else {
  116.                 JE.alert(data.message);
  117.             }
  118.         }
  119.     });
  120. }
复制代码

四、关键字

Excel按照模板导入,Excel数据导入,Excel导入




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-5-7 00:32 , Processed in 0.067787 second(s), 23 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表