编辑导读:批量导入是用户在工作中经常需要用到的功能,如何优化这个功能提升用户体验呢?本文将从两个方面展开分析,希望对你有帮助。

B端产品设计——批量导入 - 图1
最近工作过程中,涉及到两次批量上传文件的设计,也存在一些异常情况等的困惑,参考了一切B端产品进行总结。
本次总结,参考了:钉钉、有赞、草料二维码、企业微信等产品和部分文章进行输出。

一、使用场景

  1. 一次性需填写的字段数量多,在excel中复制填写速度快;
  2. 数据多,重复提交浪费时间。

    二、批量导入

    1. 如何降低导入时错误概率?

    1)提供下载模板
    在列表页同时出现下载模板和批量上传按钮:
    B端产品设计——批量导入 - 图2
    只出现批量上传按钮,在批量上传弹窗提供下载模板:
    B端产品设计——批量导入 - 图3
    B端产品设计——批量导入 - 图4
    B端产品设计——批量导入 - 图5
    B端产品设计——批量导入 - 图6
    此处推荐第二种方式。第一种方式在点击批量上传时没有模板,需重新关闭点击下载模板。且下载模板的这一动作仅存在需批量导入时执行,一直置于列表页的话,本身操作就多的列表页又增加了一个按钮。
    2)模板最好由产品/交互进行设计,重点要写清填写规则,避免规则不清晰导致用户填写错误
    钉钉-批量导入:
    B端产品设计——批量导入 - 图7
    企业微信-批量导入:
    B端产品设计——批量导入 - 图8
    有赞-批量导入商品:
    B端产品设计——批量导入 - 图9
    草料-批量导入:
    B端产品设计——批量导入 - 图10
    模板设计要点:
  • 标明必填、选填
  • 对不可修改字段进行强调,避免用户随意输入
  • 时间格式的规范,2020-07-19,还是2020/07/19,还是2020.07.19,虽然后端可以几种格式都进行识别,但用户的输入可能远远不止三种,设计/后端无法对每种情况都进行排查,所以还是进行提示较好
  • 特殊符号的限制,例如中文和英文的逗号、括号在代码中不同的,如果没有进行双重识别,最好还是提示用户按什么语言输入
  • 在模板中根据标准,填写一行“较为真实”的数据,提供用户“抄写/模仿”

3)对于固定选项的字段,提供选择,而非输入(在模板设计时进行)
B端产品设计——批量导入 - 图11

2. 上传情况有哪些?如何进行设计?

1)文件类型、大小

  1. 一般仅支持.xls 和 .xlxs 格式
  2. 文件大小看校验能力以及等待时长。为了节省服务器的空间和提高文件传输的速度,需要限制上传文件的大小。建议不要过大,目前我设置为2M的大小(这一点我不是很确定,与研发同事进行沟通,由于部分字段需进行校验判断,数据量大的时候会导致传输速度非常慢,因此2M是合理的范围)

2)部分成功、部分失败
对于部分成功、部分失败的数据而言,有两种方式。一为支持错误信息在平台上直接修改后保存,另一种为提供错误清单,重新上传。
前者开发较繁杂,一旦涉及数据量大时,修改起来比较耗时,且容易再次出错。
设计要点:

  • 提示成功上传n条,失败m条,提供<错误清单.xls>
  • 错误清单除了包括错误的数据,还需包括错误原因,例如:必填项漏填、填写错误、号码已存在、编号重复等。如果一条数据存在多处错误,通常程序只显示第一个错误原因,再次上传,再次提示另外的错误,直至正确为止。也可以一次性提示多个错误,开发同事拿着刀在等着而已。
  • 除了错误清单外,系统也可以直接在上传后显示错误的行数、信息。用户可以直接在原本的文件上进行修改,不需要进行下载<错误清单.xls>操作

B端产品设计——批量导入 - 图12
3)列名与模板不一致/列的顺序不一致?
钉钉:钉钉是默认第几行是什么字段,与字段名无关。
B端产品设计——批量导入 - 图13
例如第二行与第三行列名换了,但内容是对的,仍会上传失败。若手机号那一列写的是姓名,则会上传成功。
其它为识别列名,若列名错误,则提示错误。
无论哪一种都可以,但比较推荐识别列名。比较符合认知,及时列的顺序反了,仍能识别正确。
4)顶部填写须知去除后,是否支持上传成功?

  1. 钉钉:提示:文件列名不能被修改或删除,请重新导出模板
  2. 企业微信:上传成功

5)错误表单怎么设计?
提供每一条错误数据的错误原因。
6)数据重复,选择覆盖/跳过/上传失败?
根据不同场景,进行选择:

  • 若没有提供错误清单,则直接上传失败。避免用户得将表里面正确的数据去除,再修改错误的数据,不如一次性不上传;
  • 若是覆盖后不会造成影响,可以进行覆盖。例如员工的信息等;
  • 若是数据编号重复,会造成各种影响,或者直接不能编号重复的数据,则进行跳过,最后在错误清单中提示:编号错误即可。

例如,本次工作中,导入的数据会传到第三方的平台,数据一直都是不变的,正确即可上传第三方平台。那么就不存在去覆盖旧数据的可能。
虽然在B端产品中处处可见导入导出,但细究起来,仍还有很多点没有涉及到。目前仅是针对工作内容进行的拓展学习,可能还有部分坑没有躺过,可以进行交流。
B端的其中一个价值为提高效率,让导入导出更好用,更人性化、智能,才能提高使用效率。

原文链接:http://www.woshipm.com/pd/4089369.html