導入:定義xml文件
```
<?xml version="1.0" encoding="utf-8"?>
<workbook>
<!--導入并且校驗
name: 數據映射名
desc: 表格列頭描述
type: 表格列類型(1:String 2: NUMERIC 3:Datatime)
format: 表格列數據格式(如果是數字,格式為0.00,#.##類似數據格式形式,如果為時間,格式為yyyy-MM-dd類似形式)
nullable: 是否可為空 option[yes|no]
equsize: 輸入值的定長位數限制,如equsize="10"
minsize: 輸入值的最小位數限制,如minsize="10"
maxsize: 輸入值的最大位數限制,如maxsize="100"
maxvalue: 輸入值的最大限制,如不能超過120:maxvalue="120"
minvalue: 輸入值的最小限制,如不能小于0:minvalue="0"
regex: 利用正則表達式校驗數據。注意:java里都是寫兩個反斜杠代表一個反斜杠,這里只寫一個 。如regex="[EW]?[-]?\d+[°](\s?\d+[′](\s?\d+[″]))?"
regexdesc: 正則表達式格式說明 如regexdesc="ddd°mm′ss″"
datasrc: 如果想去TD_S_PARAM表校驗,只寫TYPE_ID即可,例如:datasrc="TOUCH_TYPE_ID";如果想指定表校驗,寫法如下:TD_M_STAFF.STAFF_ID.STAFF_ID
method: 如果以上不滿足校驗,可在header上指定一個服務類方法,通過反射機制進行校驗,例如method="exampleService.validateExample"
-->
<sheet name="baseInfoSmallImport" desc="名單制客戶批量導入[中小商企]">
<header isshow="true" height="300">
<cell name="LIST_NAME" desc="客戶名稱" type="1" nullable="no"/>
<cell name="CUST_TYPE" desc="客戶大類" type="1" nullable="no"/>
<cell name="SUB_CUST_TYPE" desc="客戶小類" type="1"/>
<cell name="CALLING_TYPE_CODE" desc="行業類型" type="1" nullable="no"/>
<cell name="SUB_CALLING_TYPE_CODE" desc="行業子類" type="1" nullable="no"/>
<cell name="CUST_ADDR" desc="客戶地址" type="1" nullable="no"/>
<cell name="CUST_MANAGER_ID" desc="客戶經理ID" type="1" nullable="no"/>
<cell name="DEV_STAFF_ID" desc="發展人編碼" type="1"/>
</header>
</sheet>
</workbook>
```
后端java代碼
```
/**
* 名單制客戶信息導入
*
* @return
* @throws Exception
*/
@RequestMapping(value = "/nameListImport")
@DataImport(fileName = "baseInfo", xml = "namelist/baseInfoBigImport.xml")// 不指定type,inParam.getFileList("baseInfo")元素默認為map
public String nameListImport(InParam<String, Object> inParam) {
StringBuffer importMsg = new StringBuffer();
// 基礎信息
List<IData<String, Object>> baseInfoSet = inParam.getFileList("baseInfo");
if (baseInfoSet != null) {
nameListService.saveBaseInfoImport(inParam, baseInfoSet);
importMsg.append("基礎信息導入成功!</br>");
}
if (importMsg.length() == 0) {
common.error("未上傳任何文件,不做導入處理!");
} else {
return message.success(importMsg.toString());
}
return null;
}
```
- walk簡介
- 核心模塊
- walk-data
- IData
- EntityHelper
- walk-cache
- 緩存管理器
- 緩存對象
- 緩存注解
- walk-batis
- 單表操作
- 批量操作
- 列表/分頁查詢
- 所有方法列表
- sql熱部署
- 二級緩存
- 數據庫方言
- 其他使用技巧
- 實體類生成工具
- walk-mq
- 隊列管理器
- 隊列對象
- 訂閱/發布管理器
- 訂閱器
- 發布器
- walk-shiro
- 用戶認證/授權
- url動態授權/回收
- 分布式會話
- 無狀態會話支持
- walk-base
- 前端基礎框架
- 公共頁面
- 自定義標簽
- 自定義函數
- 組件及工具
- 后端基礎框架
- 基礎結構
- 表單校驗
- 數據導入
- 數據導出
- 上傳下載
- 靜態參數加載器
- 靜態參數翻譯器
- 實體類翻譯器
- sql翻譯器
- 自定義翻譯器
- 靜態參數校驗器
- 分布式任務
- 增刪改查代碼生成器
- walk-restful
- 請求報文
- 返回報文
- 節點翻譯器
- api代碼生成
- walk-activiti
- 接口封裝
- 模型管理
- 流程圖展示
- 集成方法
- walk-console
- 在線會話管理
- 靜態參數表緩存管理
- 緩存管理
- 隊列管理
- 發布/訂閱管理
- walk-boot
- 常用功能
- 持久層操作
- 分布式緩存
- 分布式會話
- 分布式任務
- 前端常用功能
- 后端常用功能
- 工作流封裝
- 多數據源支持
- 關于讀寫分離
- 常用工具類
- 代碼生成工具
- SpringCloud集成
- 阿里edas平臺支持
- 其他
- 開發規約
- 環境要求
- 工程示例
- 工程結構
- web工程
- API工程
- 后臺任務
- 常見問題
- 事務不生效
- 分布式任務不生效
- 事務鎖
- 變更歷史