|
本帖最后由 凯特-姚帅龙 于 2022-4-18 22:57 编辑
JEPaaS低代码开发平台中的Excel导入
一、实现效果
导入的Excel如下
二、实现思路
1.在Excel数据导入创建一条数据
2.配置Excel信息
3.配置sheet页信息
4.配置功能和按钮
三、具体操作
1.进入Excel数据导入功能
2.点击创建后维护以下信息
3.点击导入明细
4.维护sheet页的详细信息,所占列必须跟Excel模板所占列保持一致。
5.功能配置
expGroup 模板编码
expExcelTypes TEMPLATE
6.按钮配置
创建一个导入按钮,按钮点击事件如下(注意Excel模板编码 groupExcelCode)
- function(btn,event,eOpts){
- var jegridview = btn.up("jegridview");
- groupExcelCode = "JEEXCEL00000004";
- params = {};
- JE.uploadFile({
- multiSelect: false, //单附件 true为多附件
- callback: function (cfg, data) {//data是所有数据
- if (data.success) {
- params.groupCode = groupExcelCode;
- params.fileKey = cfg.id;
- //调用zip解析
- var resObj = JE.ajax({
- url: '/je/develop/excel/uploadFile',
- params:params
- });
- if(!resObj.success){
- JE.alert(resObj.obj);
- return;
- }
- resObj=resObj.obj;
- if (resObj.PREVIEW == "1") {
- var sheetInfos = resObj.SHEETINFO;
- var items = new Array();
- var temIds = new Array();
- Ext.each(sheetInfos, function (sheetInfo) {
- var func = JE.getFuncData("JE_EXCEL_DATATEMP");
- temIds.push(sheetInfo.temId);
- func.info.j_query=[{"type":"=","code":"JE_EXCEL_CONFIGTEMP_ID","value":sheetInfo.temId,"cn":"and"}];
- var columns = new Array();
- columns.push({
- xtype: "rownumberer",
- width: 35,
- text: 'No.',
- align: 'center'
- })
- Ext.each(sheetInfo.columns, function (column) {
- Ext.each(func.grid.columns, function (col) {
- if (col.dataIndex == column.dataIndex) {
- var field = column.field;
- delete column.field;
- var _column = Ext.apply(col, column);
- if (field) {
- //更新编辑组件属性
- Ext.each(['field', 'searchField', 'editField'], function (name) {
- if (_column[name]) {
- Ext.apply(_column[name], field);
- }
- });
- }
- if (_column.field && ["rgroup", 'cgroup', 'cbbfield'].indexOf(_column.field.xtype) != -1) {
- _column.tactics = [{ type: 'dic', dicCode: _column.field.configInfo.split(',')[0] }];
- _column.renderer = JE.renderer;
- }
- columns.push(_column);
- return false;
- } else if (["JE_EXCEL_CONFIGTEMP_ID", "CODE", "MSG", "JE_EXCEL_DATATEMP_ID"].indexOf(col.dataIndex) != -1) {
- columns.push(col);
- }
- });
- });
- columns.push({
- text: "状态",
- dataIndex: "CODE",
- renderer: JE.renderer,
- width: 80,
- tactics: [{ bgCss: true, type: 'dic', dicCode: 'JE_EXCEL_DATASTATUS' }],
- field: {
- xtype: "cbbfield",
- configInfo: 'JE_EXCEL_DATASTATUS'
- }
- })
- columns.push({
- text: "状态消息",
- dataIndex: "MSG",
- width: 300,
- sortable: false,
- field: {
- xtype: "textfield"
- }
- })
- func.grid.columns = columns;
- items.push({
- xtype: 'jemainview',
- bodyPadding: 1,
- title: sheetInfo.sheetName,
- idSuffix: "JE_EXCEL_DATATEMP" + sheetInfo.sheetIndex,
- funcData: func,
- border: 1,
- columns: sheetInfo.columns
- });
- });
- JE.win({
- title: "数据预处理",
- items: [{
- border: 0,
- xtype: "tabpanel",
- items: items
- }],
- useButton: true,
- autoShow: true,
- fn: function (win) {
- var resObj = JE.ajax({ url: "/develop/excelAction!doPreviewData.action", params: { groupCode: groupCode, temIds: temIds.join(",") } });
- if (resObj.success) {
- jegridview.store.load();
- JE.msg("数据处理成功");
- } else {
- JE.alert(resObj.obj);
- }
- }
- })
- } else {
- jegridview.store.load();
- JE.msg("导入成功!");
- }
- } else {
- JE.alert(data.message);
- }
- }
- });
- }
复制代码
四、关键字
Excel按照模板导入,Excel数据导入,Excel导入
|
|