批量导入在实际的应用中需求非常多,我们可以在E6开发平台中自定义某个表单的批量导入模板实现批量导入;
假设我们有如下图这样的一批客户资料需要导入系统,里面包括了客户的基本信息,那么我们可以在开发平台中增加一个导入模版。
1、打开开发平台,给“客户信息”表单增加导入模板:
点击“增加导入模板”菜单项后,将会初夏“导入客户信息”的导入模板设计窗口。
2、在“导入客户信息”窗口中,选择表格,设置其“列设置属性”:
3、点击上面“列设置”后面的按钮后,弹出“设置列表字段”窗口,如下图,按Excel中的列顺序勾选左侧树中的字段,如下图:
注意:如果这里的列标题和Excel不一致,那么需要这一列的修改列标题属性使之保持一致。
4、如果我们导入的时候,需要根据“客户名称”判断如果客户存在则不重复导入,则选择“客户名称”列,然后设置其“数据判重列”属性为True,如果需要多列共同进行组合判断,比如需要“客户名称”+“手机”两列来判断客户不能重复,则设置这两列的“数据判重列”属性为True,如上图:
5、比如客户表单中引用了2个员工姓名字段,分别是“业务员”和“项目经理”,那如果Excel中有这两列也需要自动导入并管理在,则勾选左侧的对应字段(引用字段是灰色的),导入时会自动根据Excel中这两列的值分别在员工表中查找,找到后自动关联这一条记录。
6、设置好以后,点击确定。
6、设置模板属性,如下图,设置好模板列以后,选择模板窗体,可以根据实际情况设置其属性:
记录存在时:
更新:表示上面步骤设置的“数据判重列”匹配到客户已经存在时,根据本次Excel中的内容更新这条客户数据,多用于导入修改;
报错:表示上面步骤设置的“数据判重列”匹配到客户已经存在时,报错,多用于导入新增,避免重复导入;
新增:表示上面步骤设置的“数据判重列”匹配到客户已经存在时,继续新增;
记录不存在时:
新增:表示上面步骤设置的“数据判重列”匹配不到客户,则新增,用于导入新增;
报错:表示上面步骤设置的“数据判重列”匹配不到客户,则报错,多用于导入修改;
判重时启用缓存:
在根据“数据判重列”判重数据时,如果这里设置为True,则会在导入前预先根据数据判重列把所有这个表单的关键字段全部读取出来缓存,后续的判重就不需要组条查询数据库,介意极大地提升导入性能。
按列名匹配:
比如设置一个导入模版包括10个字段,但是你Excel中有20个字段,设置这个属性后,表示只要你Excel中的列名和模版中列标题一致就能导入,这种方式比较灵活。
更新条件:
如果是导入修改,那么这里可以设置条件,只导入修改满足条件的数据,哪怕你Excel中有这条记录也不行,因为某些数据已经归档,或者已经审批不允许再进行修改的,所以这样可用有效防止误操作
所以根据我们的这两个规则,这里设置“记录存在时”报错,“记录不存在时”新增;
7、保存并发布;
8、进入客户端,进入客户列表后,就会在工具条中看到“导入客户信息”的按钮,如下图,点击后进入导入页面。
如下图,进入导入页面以后,可以下载导入模板来整理要导入的数据,也可以选择已经存在的导入文件,选择后“开始导入”即可。
注意:
1、如果你模版中设置的某个字段是下拉列表,比如下图中的“客户类型”,“客户评级”,“客户状态”等等,那么您Excel中的这个字段也应该是空值或者表单中设置的下拉选项值,否则报错。
2、如果是日期列,那么你这个字段必须为空或者标准的日期格式,如:2024-01-10,2024/01/10,等等如果不满足日期格式会报错;
3、如果您模版中有引用单据字段,如下图有业务员,项目经理这两个字段(这两个字段在表单中引用的是员工表单的员工姓名字段),那么您Excel中这个字段的值必须在员工表单中存在,否则报错;
附件:导入模版设置视频