在线观看a级片 I 樱桃视频在线观看一区 I 日韩 欧美 亚洲 综合 I 日产一区三区三区高中清 I 97人人草 I 亚洲情趣 I 黄图视频在线观看 I 久久aⅴ人妻少妇嫩草影院 I 嘿咻视频在线观看 I 色97色 I 伊人国产在线视频 I 精品三级久久久久电影我网 I 欧美一道本一区二区三区 I 色吊丝中文字幕 I 99热在线精品播放 I 国产一区二区三区久久久久久久久 I 欧美一级淫片免费视频欧美辣图 I 免费在线观看污 I 黄色特级一级片 I 污的网址 I 丁香花激情网 I 秋霞二区 I 欧美经典片免费观看大全 I 九九黄色毛片 I 中午日产幕无线码1区 I 午夜福利精品导航凹凸 I 无码欧亚熟妇人妻av在线外遇 I 女人黄色免费

產品中心 業內新聞 案例中心 視頻中心

Excel數據導入Mobox低代碼平臺 Excel數據導入Mobox低代碼平臺

Excel數據導入Mobox低代碼平臺

分類:二次開發 產品中心 實施方案 872

Excel數據導入Mobox低代碼平臺

 

我們系統上線的時候,原先的歷史數據是沒有的,為了快速接軌企業已有數據,我們可以通過excel 對歷史數據進行導入操作。導入一般可以通過腳本做一些定制開發來實現

 

列子:

數據導入的sheet 要求

這個系統只能導入,左邊第一個sheet (命名無所謂)(注意:若數據列表 這個sheet左邊還有隱藏的sheet,那么系統也不能獲取 數據列表sheet頁的數據)

對Excel單元格的要求

單元個里面的數據,只能是字符串或數值。若是計算公式或函數 ,將無法獲取

另外,單元個內容 不能出現 /\<> & 符號,不能有換行或大量空格

分析excel格式

1、字段分3類:

  • 關鍵字段

如,產品名稱 ,這個是必須有數值的

  • 屬性字段

用于登記各種屬性信息

  • 計算字段

若有數據,則直接獲取

若沒有,可以通過lua腳本計算生成

這種字段,一般也是必須有數值的

2、第一行是表頭行,數據行從第二行開始

 

定義導入功能

通過Mobox 3000 功能點進行定義,設置界面如下:

導入腳本,參考:

json? = require(“json”)
mobox = require(“OILua_JavelinExt”)
require(“oi_basestrfunc”)
function ImportKA(strLuaDEID)
? ? local nRet, strRetInfo
? ? — 獲取導入的數據, 返回 [[{“attr”:”xx”,”value”:””},…]]
? ? — V2.0
? ? nRet, strRetInfo = mobox.getCurEditDataPacket(strLuaDEID)
? ? if (nRet ~= 0 or strRetInfo == ”) then
? ? ? ? mobox.error(strLuaDEID, “無法獲取導入數據!”)
? ? ? ? return
? ? end
? ? local input_rows = json.decode(strRetInfo)
? ? local n, nCount, nValue, nMaxRow, nRow
? ? local strAddAttr = ”
? ? — 一些關鍵屬性
? ? local strKAName = ”
? ? local strKAType = ”
? ? local strArea = ”
? ? — 步驟1 獲取從excel導入的一行數據,根據excel的列定義進行屬性組合 strAddAttr
? ? nMaxRow = #input_rows
? ? for nRow = 1, nMaxRow do
? ? ? ? input = input_rows[nRow]
? ? ? ? nCount = #input
? ? ? ? — V2.1
? ? ? ? strAddAttr = ”
? ? ? ? strKAName = ”
? ? ? ? strKAType = ”
? ? ? ? strArea = ”
? ? ? ? for n = 1, nCount do
? ? ? ? ? ? strAttr = input[n].attr
? ? ? ? ? ? strValue = input[n].value
? ? ? ? ? ? if (strAttr ~= ” and strValue ~= ”) then
? ? ? ? ? ? ? ? — 根據導入的excel列頭名稱進行判斷
? ? ? ? ? ? ? ? — 關鍵屬性判斷
? ? ? ? ? ? ? ? if (strAttr == “客戶名稱”) then
? ? ? ? ? ? ? ? ? ? if (strValue == ”) then
? ? ? ? ? ? ? ? ? ? ? ? mobox.error(strLuaDEID, strAttr .. “不能為空!”)
? ? ? ? ? ? ? ? ? ? ? ? return
? ? ? ? ? ? ? ? ? ? end
? ? ? ? ? ? ? ? ? ? strKAName = strValue
? ? ? ? ? ? ? ? ? ? strAddAttr = strAddAttr .. ‘{“attr”:”S_KA_NAME”,”value”:”‘ .. strKAName .. ‘”},’
? ? ? ? ? ? ? ?— 常規屬性
? ? ? ? ? ? ? ? elseif (strAttr == “所屬地區”) then
? ? ? ? ? ? ? ? ? ? strArea = strValue
? ? ? ? ? ? ? ? ? ? strAddAttr = strAddAttr .. ‘{“attr”:”S_AREA”,”value”:”‘ .. strArea .. ‘”},’
? ? ? ? ? ? ? ? elseif (strAttr == “客戶類型”) then
? ? ? ? ? ? ? ? ? ? strKAType = strValue
? ? ? ? ? ? ? ? ? ? strAddAttr = strAddAttr .. ‘{“attr”:”S_KA_TYPE”,”value”:”‘ .. strKAType .. ‘”},’
? ? ? ? ? ? ? ? end
? ? ? ? ? ? end
? ? ? ? end
? ? ? ? –去除最后一個,
? ? ? ? local strAddAttr1 = trim_laster_char(strAddAttr)
? ? ? ? — 步驟2 根據客戶名稱來判斷導入的客戶是否已經存在
? ? ? ? —? ? ? ?如果已經存在,根據導入的數據進行覆蓋
? ? ? ? —? ? ? ?如果不存在需要創建
? ? ? ? local attrs
? ? ? ? local strCondition = “S_KA_NAME='” .. strKAName .. “‘”
? ? ? ? nRet, strRetInfo = mobox.existThisData(strLuaDEID, “客戶”, strCondition)
? ? ? ? if (nRet ~= 0) then
? ? ? ? ? ? mobox.error(strLuaDEID, “在檢查客戶是否存在時失敗! ” .. strRetInfo)
? ? ? ? ? ? return
? ? ? ? end
? ? ? ? if (strRetInfo == ‘yes’) then
? ? ? ? ? ? — 已經存在,根據導入的數據進行覆蓋
? ? ? ? ? ? strCondition = “S_KA_NAME='” .. strKAName .. “‘”
? ? ? ? ? ? strSetSQL =? “S_KA_NAME = ‘” .. strKAName ..”‘ , S_KA_TYPE ='” ..strKAType .. “‘ , S_AREA = ‘” .. strArea ..”‘ “
? ? ? ? ? ? nRet, strRetInfo = mobox.updateDataAttrByCondition(strLuaDEID, “客戶”, strCondition, strSetSQL)
? ? ? ? ? ? if (nRet ~= 0) then
? ? ? ? ? ? ? ? mobox.error(strLuaDEID, strRetInfo)
? ? ? ? ? ? ? ? return
? ? ? ? ? ? end
? ? ? ? elseif (strRetInfo == ‘no’) then
? ? ? ? ? ? — 創建客戶
? ? ? ? ? ? –mobox.writeSysLog(“strAddAttr1”, strAddAttr1)
? ? ? ? ? ? strAddAttr1 = ‘[‘ .. strAddAttr1 .. ‘]’
? ? ? ? ? ? –mobox.writeSysLog(“strAddAttr2”, strAddAttr1)
? ? ? ? ? ? nRet, strRetInfo = mobox.createDataObj(strLuaDEID, “客戶”, strAddAttr1)
? ? ? ? ? ? if (nRet ~= 0) then
? ? ? ? ? ? ? ? mobox.error(strLuaDEID, “創建客戶失敗! ” .. strRetInfo )
? ? ? ? ? ? ? ? return
? ? ? ? ? ? end
? ? ? ? end
? ? end
end
標簽:低代碼腳本 上一篇: 下一篇:
展開更多
預約軟件體驗

loading...

主站蜘蛛池模板: 337p日本欧洲亚洲大胆裸体艺术 | 少妇高潮喷水久久久影院 | 女人18毛片水真多 | 粗大猛烈进出高潮视频免费看 | 无码人妻丰满熟妇区五十路百度 | 欧洲亚洲精品久久久久 | 精品一区二区三区影院在线午夜 | 国产精品美女久久久久av爽 | 亚洲一区二区三区写真 | 亚洲色婷婷久久精品av蜜桃 | 91网站免费视频 | 亚洲www啪成人一区二区 | 丰满人妻在公车被猛烈进入电影 | 亚洲欧美成人中文日韩电影网站 | 中文字幕乱码中文乱码51精品 | 精品久久久久中文字幕app | 亚洲一区二区三区电影 | 日本少妇又色又爽又高潮 | 十八禁无码精品a∨在线观看 | 亚洲欧美日本a∨天堂 | 久久精品国产精品 | 亚洲日本一区二区一本一道 | 中文字幕无码乱人伦免费 | 免费视频你懂得 | 一本丁香综合久久久久不卡网站 | 男人和女人做爽爽免费视频 | 国产大屁股喷水视频在线观看 | 99综合视频 | 国产av国片精品 | 亚洲精品乱码久久久久久 | 日本亚洲欧洲无免费码在线 | a亚洲va欧美va国产综合 | 成人免费b2b网站大全在线 | 亚洲三级香港三级久久 | 久久久久久自慰出白浆 | 国产边摸边吃奶边做爽视频 | 人人人妻人人澡人人爽欧美一区 | 日本55丰满熟妇厨房伦 | 国产妇女馒头高清泬20p多 | 爆爽久久久一区二区又大又黄又嫩 | 18禁无遮挡啪啪无码网站 |