编辑导读:批量导入是用户在工作中经常需要用到的功能,如何优化这个功能提升用户体验呢?本文将从两个方面展开分析,希望对你有帮助。
最近工作过程中,涉及到两次批量上传文件的设计,也存在一些异常情况等的困惑,参考了一切B端产品进行总结。
本次总结,参考了:钉钉、有赞、草料二维码、企业微信等产品和部分文章进行输出。
一、使用场景
- 一次性需填写的字段数量多,在excel中复制填写速度快;
- 数据多,重复提交浪费时间。
二、批量导入
1. 如何降低导入时错误概率?
1)提供下载模板
在列表页同时出现下载模板和批量上传按钮:
只出现批量上传按钮,在批量上传弹窗提供下载模板:
此处推荐第二种方式。第一种方式在点击批量上传时没有模板,需重新关闭点击下载模板。且下载模板的这一动作仅存在需批量导入时执行,一直置于列表页的话,本身操作就多的列表页又增加了一个按钮。
2)模板最好由产品/交互进行设计,重点要写清填写规则,避免规则不清晰导致用户填写错误
钉钉-批量导入:
企业微信-批量导入:
有赞-批量导入商品:
草料-批量导入:
模板设计要点:
- 标明必填、选填
- 对不可修改字段进行强调,避免用户随意输入
- 时间格式的规范,2020-07-19,还是2020/07/19,还是2020.07.19,虽然后端可以几种格式都进行识别,但用户的输入可能远远不止三种,设计/后端无法对每种情况都进行排查,所以还是进行提示较好
- 特殊符号的限制,例如中文和英文的逗号、括号在代码中不同的,如果没有进行双重识别,最好还是提示用户按什么语言输入
- 在模板中根据标准,填写一行“较为真实”的数据,提供用户“抄写/模仿”
3)对于固定选项的字段,提供选择,而非输入(在模板设计时进行)
2. 上传情况有哪些?如何进行设计?
1)文件类型、大小
- 一般仅支持.xls 和 .xlxs 格式
- 文件大小看校验能力以及等待时长。为了节省服务器的空间和提高文件传输的速度,需要限制上传文件的大小。建议不要过大,目前我设置为2M的大小(这一点我不是很确定,与研发同事进行沟通,由于部分字段需进行校验判断,数据量大的时候会导致传输速度非常慢,因此2M是合理的范围)
2)部分成功、部分失败
对于部分成功、部分失败的数据而言,有两种方式。一为支持错误信息在平台上直接修改后保存,另一种为提供错误清单,重新上传。
前者开发较繁杂,一旦涉及数据量大时,修改起来比较耗时,且容易再次出错。
设计要点:
- 提示成功上传n条,失败m条,提供<错误清单.xls>
- 错误清单除了包括错误的数据,还需包括错误原因,例如:必填项漏填、填写错误、号码已存在、编号重复等。如果一条数据存在多处错误,通常程序只显示第一个错误原因,再次上传,再次提示另外的错误,直至正确为止。也可以一次性提示多个错误,开发同事拿着刀在等着而已。
- 除了错误清单外,系统也可以直接在上传后显示错误的行数、信息。用户可以直接在原本的文件上进行修改,不需要进行下载<错误清单.xls>操作
3)列名与模板不一致/列的顺序不一致?
钉钉:钉钉是默认第几行是什么字段,与字段名无关。
例如第二行与第三行列名换了,但内容是对的,仍会上传失败。若手机号那一列写的是姓名,则会上传成功。
其它为识别列名,若列名错误,则提示错误。
无论哪一种都可以,但比较推荐识别列名。比较符合认知,及时列的顺序反了,仍能识别正确。
4)顶部填写须知去除后,是否支持上传成功?
- 钉钉:提示:文件列名不能被修改或删除,请重新导出模板
- 企业微信:上传成功
5)错误表单怎么设计?
提供每一条错误数据的错误原因。
6)数据重复,选择覆盖/跳过/上传失败?
根据不同场景,进行选择:
- 若没有提供错误清单,则直接上传失败。避免用户得将表里面正确的数据去除,再修改错误的数据,不如一次性不上传;
- 若是覆盖后不会造成影响,可以进行覆盖。例如员工的信息等;
- 若是数据编号重复,会造成各种影响,或者直接不能编号重复的数据,则进行跳过,最后在错误清单中提示:编号错误即可。
例如,本次工作中,导入的数据会传到第三方的平台,数据一直都是不变的,正确即可上传第三方平台。那么就不存在去覆盖旧数据的可能。
虽然在B端产品中处处可见导入导出,但细究起来,仍还有很多点没有涉及到。目前仅是针对工作内容进行的拓展学习,可能还有部分坑没有躺过,可以进行交流。
B端的其中一个价值为提高效率,让导入导出更好用,更人性化、智能,才能提高使用效率。