Excel 导入要把错误反馈当成产品功能
Excel 导入要把错误反馈当成产品功能
后台系统经常有 Excel 导入。真正影响体验的不是能不能读文件,而是导入失败时用户能不能知道哪里错了、怎么改、改完能不能继续导。
模板要明确
导入模板应该尽量减少歧义。字段名称、必填说明、枚举取值、日期格式、示例数据,都应该放在模板里。不要把规则只写在接口文档里,因为实际使用模板的人未必会看文档。
模板越清楚,后端校验压力越小,用户试错成本也越低。
校验要分层
导入校验可以分成格式校验、字段校验、业务校验和重复校验。格式校验解决能不能读,字段校验解决值是否合法,业务校验解决状态是否允许,重复校验解决是否已经存在。
分层之后,错误信息会更准确,也更方便维护。
错误反馈要可修改
导入失败时,最好返回行号、字段、错误原因和建议修改方式。更进一步,可以生成带错误标记的结果文件,让用户直接在原表上修改。
如果只告诉用户导入失败,用户就只能猜。这样的功能虽然技术上完成了,但产品体验很差。
复盘
Excel 导入本质上是批量录入。它要处理人的输入错误、业务规则冲突和重复数据。把错误反馈当成产品功能来设计,导入功能才真正可用。
参考
- Apache POI 文档:https://poi.apache.org/components/spreadsheet/
- SheetJS 文档:https://docs.sheetjs.com/