🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
导入:定义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; } ```