前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论后台产品经理如何优雅地设计导入功能

论后台产品经理如何优雅地设计导入功能

作者头像
物流IT圈
发布2023-03-09 14:31:13
1.5K0
发布2023-03-09 14:31:13
举报
文章被收录于专栏:物流IT圈物流IT圈

对于后台产品,导入是系统里必不可少的功能之一。如何设计好一个导入功能,了解以下几点就够啦。

一、如何定义导入模板

首先导入模板一般是由产品给出,需要率先确定导入模板的名称、格式、大小。下面以表格为例:

名称:模板名称与模板内容相匹配就行了

格式:常见表格格式为xls、xlsx、csv

其中csv为纯文本格式,上传更快,当上传文件需要支持大数量时可以用csv格式,如下所示:

说明:可在导入之前的页面或在导入模板中加入导入说明,导入说明一般是对导入规则的解释,主要目的是告诉用户如何正确导入,避免导入失败。

需要注意的一点是,最好支持删除说明行不影响导入,匹配表头就能导入,以上图为例就是说把前6行删掉也不会影响导入,只能读取到表头项;再进一步表头项缺失也没事,只要必填表头能匹配到就行。这样做的好处是,用户如果自己整理好了一个excel,他不用把数据贴到模板里,只用将excel表头改成与模板一样就行了,更加方便。

需要注意的另一点是,确定好支持导入的文件格式后,可以限制打开文件夹的格式为支持的格式,方便用户更快的找到需要导入的文件。现在还有很多是全部文件格式,找个表单找半天。

另另外一点注意模板里不要带序号,直接用excel的行号就可以了,提示错误信息时可以直接用行号告知具体位置。

二、导入后执行时间

一般来说都是导入后立即执行,但是也可能存在定时执行,比如导入产品价格时,可能提前导入再在之后某个时间价格才生效。如果是定时生效,需要加上生效时间,并考虑未生效期间内的其他导入是否会造成影响。

三、导入覆盖还是不覆盖

覆盖:指最新一次导入的内容会现将已有内容清空再导入,相当于覆盖了。

不覆盖:指最新一次导入内容已经存在在系统中时,数量类型的数据相加减,非数量类型的数据以最新一条为准;系统中有但是最新导入内容里没有的那部分数据也不会被清空掉。

像导入库存数据,最新导入的一次是覆盖之前的记录还是在之前记录基础上加减?当然这个要结合业务场景来看,比如我们用户经常同时使用多个软件,他们一般先从其他系统中导出库存,再导入进我们系统,那这种情况肯定是要覆盖前次记录了,因为他们每次导入的都是当前的实际库存,而不是变动的库存。但是像下单时快捷导入产品,考虑到我们的下单场景是用户可能有多个产品清单需要一起下单,多次导入的时候就适合不覆盖,相同产品数量累加。

四、分步骤导入或直接导入

导入方式一般分为分步骤导入与直接导入(导出也同理)。

分步骤导入优点是可以导入很大的数据量,并且更加安全不易造成数据丢失。先将文件上传,上传完成后后端并不会对数据库进行修改,等导入时再修改数据库。我向开发问了下具体实现方法,一种是先把数据放在临时表里,这样可以判断数据格式是否正确,另一种是先上传到云端。

直接导入优点是更快捷,适用于数据量较小的情况。

如下所示为分步骤导入:

五、导入文件中的重复数据如何处理?

这条其实很容易和上面覆盖、不覆盖弄混,前面说的是当前导入批次和原先导入批次之间的事,这里说的是同一导入批次里行与行的情况,可以分为以下几种情况:

  • 重复数据以最后一条为准
  • 重复明细的数量相加
  • 重复数据导入失败

具体使用场景大家可以想想,在评论里留言~~~

六、如何确定导入条数

支持导入的最大条数可以结合业务场景与系统能力确定,比如导入客户,如果是SaaS产品,那一般用于用户首次使用系统时,需要将客户数据从之前使用的其他系统迁移过来。那我们可以先拉取当前系统上用户的客户数量并从大到小排序,再拿这个最大值与开发确认系统能否支持。如果不能支持,能否通过后端分批处理、或调整导入文件格式为csv、或前端分步骤操作等方法来曲线报国。

如果实在不行,就只能调整以满足尽可能多的用户。我们目标就是能让大多数用户可以一次性导入成功,而不是弹出导入文件过大,请分多次导入的提示条······

七、针对导入失败的处理

可以分为以下几种情况:

  • 有一条导入失败,整个导不进去
  • 有一条导入失败,只有这一条导不进去,其他都导入成功

如果导入内容相互独立,那么可以选择2;如果导入内容有某种关联,比如顺序不能变,那就得选1。

无论1或2,在导入失败时都要做好提示,产品经理需要提前列好导入失败的原因给到开发。导入失败原因可以正着说,如请输入必填项客户名称;也可以反着说,如客户名称不能为空。我建议正着说,因为告知用户正确的做法,而不是指出用户的错误会让用户更爽一些。不过更重要的是要统一,不能一下正着说,一下又反着说。

可以将导入失败的数据单独列在弹窗里展示,也可以将导入失败的部分生成一个excel,并将失败原因附在excel里。

如果是弹窗展示失败原因,又可以分为直接在页面上修改或者只展示不能修改,无论是哪种都要注意数据很多时对页面性能的影响。

八、导入统一性

系统内如果有多处导入,注意导入页面、导入模板样式统一。对于一些通用的导入失败原因,文描也最好一致或依循同样的规则,比如必填项为空、单元格式错误、文件过大、表头不匹配等等。

九、导入记录

由于导入是批量修改数据的操作,出于安全考虑,一般会有对应的导入记录页面,方便出问题追踪。

十、导入完成后的操作

如果导入成功后,还有其他操作,可以在导入后进行引导,达到操作的流畅性。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 驼马精英 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、如何定义导入模板
  • 二、导入后执行时间
  • 三、导入覆盖还是不覆盖
  • 四、分步骤导入或直接导入
  • 五、导入文件中的重复数据如何处理?
  • 六、如何确定导入条数
  • 七、针对导入失败的处理
  • 八、导入统一性
  • 九、导入记录
  • 十、导入完成后的操作
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档