今天分享一个B端产品设计中经常或者说必须用到的功能:批量导入。
相信很多小伙伴都对这个功能有接触和了解,觉得不过就是个简单的把Excel表的数据导入到系统而已。
道理是这么个道理,但小功能也有它的奥妙之处,况且批量导入是个很不一般的非常重要的功能,特别在B端产品设计中。
一个做得好的批量导入功能,可以大大提高使用者的工作效率。
那么我们在设计这个功能时,需要考虑什么呢?我罗列了几点:
如何才能让用户在批量导入过程中尽可能地减少出错的概率。
若真的出现导入错误应该怎么处理,如何提示用户修改,用什么方式更好。
批量导入的数据量大概有多大。
导入的数据,如果与原有数据冲突时,该怎么处理。
一、设计批量导入的模板
众所周知,在做导入功能时,我们都会用到Excel表。由于用户在Excel中的输入编写是很自由的,如果不把Excel定好格式模板,告诉用户我们的填写规则,那么用户填写完的信息导入系统时,很大概率是不符合规范的,所以第一步必须要定好Excel的模板。
首先,要在Excel中把填写规则表述清楚。
例如这个报表的填写功能的批量导入的说明,我们可根据各自的业务规则需求,制定适合自己的规则。
而且,在一些需要与系统数据库进行匹配校验的数据,要控制好输入格式,可以让用户选择,就不要让用户编辑输入。
例如:省市区这类型,例如广东省,如果用户输入,很可能有的用户输入“广东”,这样在和数据库进行匹配或者校验时就会匹配不到数据。所以我们要尽可能避免这种情况。
二、使用步骤引导用户
尽可能把入口放在易见的位置,例如列表页top。在用户首次进行导入操作时,肯定是需要先下载一个模板的,所以我们可以在按钮旁边加一个说明指引:“第一步:下载模板;第二步,编写内容,批量导入。”
三、提示用户现在的状态,如何进行下一步
用户按照模板填写完后,就可以点击【批量导入】按钮把数据导入。
此时,我们需要两种情况:数据正确无误成功导入;导入的数据存在错误。
导入数据后,先校验数据是否有错误,如果正确无误,那么就可以直接在数据库创建数据,也可以把数据先进行页面化显示,让用户对数据进行再次确认再进行手动提交入库。
在这里,我们是建议使用先页面化显示这种方式,一是可以让用户知道自己导入了哪些数据,二是当有错误的时候,可在页面中直观的让用户看到哪几行出了错(当然这种方式要考虑数据量的问题,如果数据量非常大就不适用这种方式)。
而对于导入后某些数据有错的情况,我们一般又可以分为两种方式进行处理:
1.允许用户在线直接修改,导入后提示用户有几条错误,可以在线进行编辑修改,修改后进行保存。
进行调整也有两种调整方式:直接在列表中实现可编辑的;点击列表,弹窗页进行编辑。
一般都更推荐第二种方式,实现起来更灵活,可直接使用前端的组件
2.不允许用户在线修改,需要重新上传。我们需要提示用户Excel中,哪几行的数据错误,错误原因是什么?
至于用哪种方式,一般根据实际情况考虑,特别是数据量,如果错误的数据量大还是建议不允许用户在线修改,提供一个让用户自己下载“错误报告”的功能(用户上传的Excel附加一个错误说明),让用户对着错误说明在Excel上进行修改,重新上传(毕竟在Excel中批量修改会比在线修改效率要高很多)。
四、如何处理有冲突的数据
在最后,还有一个需要考虑的问题,就是导入的数据存在冲突时该如何处理。我们这个导入是增量导入还是支持覆盖导入?
如果是要支持如果要支持覆盖导入,那么这个导入列表就需要加一个在系统中的唯一标识。
以通讯录为例,导入的列表要加一个员工编号,当导入的时候,检测这个员工编号在原来系统中是否存在,如果存在,那么就是对原来那条记录的修改,并且提示用户,是否对该记录进行修改,可展示前后对比给用户看。如果不存在,那么就是新增。
还有一种情况是数据备案导入,那么就要保留原有的历史数据,同时存储新导入的数据。
以上是在设计批量导入功能时需要考虑的几个点,基本可以满足各种常规的需求,如果还有更好的优化方法,记得给我提建议哦~
网友评论