批量导入的详细设计说明

19 评论 62026 浏览 258 收藏 7 分钟

在后台设计产品中,批量导入功能要被频繁地使用,批量导入功能设计的好,可以提高使用者的效率。

一、批量导入功能的需求分析

批量导入的功能,大量地用在后台产品的设计中,批量导入功能如果设计得好,可以大大提高使用者的使用效率。

对于批量导入功能的使用者来说,并不简单的是把EXCEL表中的数据,导入到系统就可以了。

产品经理在设计这个功能时,还要考虑:

  1. 导入Excel的模板应该如何设计,才能让用户尽可能地减少批量导入时出错的几率。
  2. 导入了格式不正确的数据,应该如何提示用户进行修改,用什么方式修改。
  3. 导入的数据,与原有数据有冲突的时候,应该怎么处理。

二、批量导入功能应该怎么做

1. 设计批量导入的模板

由于用户在EXCEL中输入是很自由的,所以如果不把EXCEL定好模板,把填写的规则告诉用户,那么用户填写后的信息导入到系统,是很大几率不符合规范的,所以一定要定好EXCEL的模板。

首先,要在EXCEL中指导用户,把输入的规则在EXCEL中写清楚。

这个是某物流系统的批量导入的说明,大家可以根据各自的业务需求,制定适合自己的规则。

第二个,控制好用户的输入,对于那些需要跟系统数据库进行匹配的数据,让用户选,而不要让用户输。

例如:省市区,数据库中存的是叫河北省,如果让用户自有输入,他很有可能输入“河北”,少了个省字,这样在和数据库进行匹配的时候,就会匹配不到数据。所以对于需要进行匹配的数据,采用让用户选择而不是输入的方式。

2. 下载模板入口

在易见的位置,放一个下载模板的入口,用户批量导入,尤其是首次导入的时候肯定需要一个模板,才能正确填写数据,可放在列表页。

3. 导入EXCEL,对错误数据进行提示、修改

用户按照模板填写完EXCEL之后,就可以对数据进行批量导入了,点击批量导入按钮后,即可导入数据。

对于产品经理来说,需要考虑以下两种情况:数据正确无误导入成功、某些数据有错。

导入数据后,先校验数据是否有错误,如果正确无误的话,那么可以考虑直接在数据库中创建数据,也可以先把数据进行页面化显示,数据确认后再进行手动提交。

建议用先进行页面化显示这种方式,一来用户可以知道自己哪些数据导入了系统,二来当有错的时候,可以在页面中直观的让用户看到哪几行出了错。

对于导入后某些数据有错的情况,根据具体的需求,又可以分为两种处理:

(1)允许数据导入,导入后提示用户有几条错误,可以在线进行编辑修改,修改正确后再保存。

例如:这条数据有错,则标红,并标出错误的字段是哪个。例如:途中,广州市没有龙岗区,而用户填了龙岗区就错了。用户可以在这个列表中,对错误的数据进行调整。

调整方式也有两种:

  1. 直接在列表中实现可编辑的功能。
  2. 点击列表后,出现弹窗,在弹窗中进行内容编辑。

这两种方式,我更推荐第二种,因为如果用弹窗实现,那么像省市区这种选择的,可以用到前端开发的组件,实现起来更灵活。在列表中如果直接编辑,有的字段是要选择的,开发人员实现起来就会比较麻烦。而且对用户来说,在列表直接编辑也不见得更加方便。

(2)不允许数据导入,提示用户EXCEL中,哪几行的数据错误,错误原因是什么(有多个错误,通常只提示一个,下次上传、如果错误没都改过来,再提示下个错误是什么?也可以把所有错误一次性告诉用户)?请修改后重新上传。

产品经理设计的时候,可以根据具体业务需求,决定采用哪种方式。

第一种方式开发量相对大一些,但是用户上传后可以直接在列表中删除,偶尔有一两条出错的时候,用这种方式改起来更加方便。当出错比较多的时候,在EXCEL中修改会更方便,产品经理可自行衡量采用哪种方式。

结语

以上便是批量导入的详细设计的说明,基本上涵盖了各种情况,可以满足大部分用户批量导入的需求,如果还有什么可以改进的地方,欢迎大家提建议!

 

本文由 @river 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自 Pexels ,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 请问下,批量导入使用word版怎么样能识别到公式以及图片?

    来自北京 回复
  2. 遇到空行后开发就停止读取数据了,实际后面还有很多行,怎么处理合适呢

    来自北京 回复
    1. 所以在填表的时候提示不能有空行

      来自广东 回复
  3. 想问一下数据量超级大的时候导入交互是怎么样的,数据量在百万级别

    来自浙江 回复
    1. 可以支持异步任务,关了页面退回到后台执行,执行完之后可以显示消息

      来自广东 回复
  4. 想问一下点击“导入Excel”按钮之后的交互是怎样的呢?

    来自上海 回复
    1. 打开页面或者弹窗,提示选择要导入的文件,格式,包括是否有限制文件大小,重复数据是否支持覆盖等。

      来自广东 回复
  5. 有一部分没有搞明白,这个导入是增量导入吗?还是覆盖导入?要不要支持覆盖导入?覆盖导入可以更新哪些数据?根据哪个字段进行覆盖导入?以及其他细节小问题

    来自上海 回复
    1. 如果要支持覆盖导入,那么这个导入列表就需要加一个在系统中的唯一标识。以人事系统为例,导入的列表要加一个员工编号,当导入的时候,检测这个员工编号在原来系统中是否存在,如果存在,那么就是对原来那条记录的修改,并且提示用户,是否对该记录进行修改,可展示前后对比给用户看。如果不存在,那么就是新增。

      来自广东 回复
  6. 感谢作者,向你学习,整理出后台最小单元的规范、标准。

    回复
  7. 导入发现数据格式填写错误,是否还应该分两种情况来考虑设计模式?第一:导入数据量相对少的(一般不过百),这种可以考虑在线编辑修改后再提交导入校验。第二:导入数据量相对大的(有的会上万),这种一般就会选择提示数据错误list,让用户线下纠正(这里导出数据可以再区分两种情况:1.校验没问题的数据可以直接入库,只导出格式错误的数据,2.全部数据格式都没问题才能入库,那这个就需要所有数据一起导出),毕竟excel灵活,操作还是比线上要快得多。

    来自北京 回复
    1. 赞!

      回复
    2. 😉 😉 😉 是的,还可优化一下,看校验不通过的数据多不多,如果校验不通过数据过多,也可让其在excel中修改可以做成让操作用户导出excel,校验不通过的空格在excel中标红

      来自广东 回复
    3. 也可让其在excel中修改,可以做成让操作用户导出excel,校验不通过的空格在excel中标红

      来自广东 回复
    4. 💡 你总结的很不错,向你学习

      来自北京 回复
    5. 互相学习~ 😳

      来自广东 回复
  8. 正在导入的数据和已导入的历史数据是不是用table分两页显示。

    回复
    1. 如果数据重要,需要备份的话可以加一个历史数据的存储模块,入口可灵活设计

      来自广东 回复
  9. 可以的

    回复