关于批量添加和excel导入这两个功能
目前在重构系统,和小伙伴讨论了一下批量添加和excel导入,目前有三种想法,想看看大家的看法
1.
excel导入没有必要,用页面做批量添加,如果数据量大分批调用接口,前端用虚拟表格,说是可以容纳上万条数据,不需要担心窗口卡住,如果有人整理了一份excel,只需要他复制那一列,然后粘贴表格就会生成数据列,接口需要做校验,如果有错误返回行号、字段名、错误信息给到前端。
2.
直接导入excel就好,而且excel可以异步处理,如果有错误直接对错误行进行记录,对错误的地方进行标红,并在末尾加入错误信息,然后导出一份excel给用户自己修改(我的个人想法)
3.
数据量少用批量添加,数据量多用excel导入,批量添加限制最多添加数,不做复杂
应该从需求出发,根据实际情况确定是否会用到excel, 但不论如何异步处理是肯定的,是否放在事务中再根据实际需求确认
不用异步就得前端解析excel,然后前端拿到数据循环请求后端的接口,缺点对服务器会造成一定的压力。 异步的话也有缺点,用户感知不强,虽然从技术角度来说是最可靠的方案。
主要还是看你excel 多大
1和3 的处理方案都不错,我们还没用过方案1,主要是产品和前端都没有向哪个方向设计。
方案2 可能需要考虑对多列验证错误的显示问题,比如:一行中的多列存在错误,如果都堆在一起会看起来不太舒服。我们采用的方案是将错误写到另一个表格里,一行一个,注明对应的行号或唯一标识。
从实现难易程度来说,通过excel导入,可以快速完成业务需求。
实际上,从业务出发的话,两者都得要!
1、页面表格,必须的,用来展示、编辑、提醒数据行;
2、导入Excel也是必须的,不管数据量多少,都得提供导入功能,导入Excel后,将数据回显在页面上方便用户校验核对;
3、接下来提交到后端API就不区分是页面提交的还是Excel导入的。