惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
Webroot Blog
Webroot Blog
GbyAI
GbyAI
S
SegmentFault 最新的问题
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 【当耐特】
S
Secure Thoughts
酷 壳 – CoolShell
酷 壳 – CoolShell
AWS News Blog
AWS News Blog
Engineering at Meta
Engineering at Meta
S
Security Affairs
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
Spread Privacy
Spread Privacy
T
Threatpost
Forbes - Security
Forbes - Security
C
Cisco Blogs
Scott Helme
Scott Helme
Attack and Defense Labs
Attack and Defense Labs
Simon Willison's Weblog
Simon Willison's Weblog
腾讯CDC
The Last Watchdog
The Last Watchdog
Cloudbric
Cloudbric
Last Week in AI
Last Week in AI
Recorded Future
Recorded Future
小众软件
小众软件
V
Vulnerabilities – Threatpost
美团技术团队
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
Hacker News - Newest:
Hacker News - Newest: "LLM"
I
Intezer
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 司徒正美
C
Cybersecurity and Infrastructure Security Agency CISA
Martin Fowler
Martin Fowler
博客园 - 聂微东

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
B端产品设计必看,Excel批量导入的知识点讲解(上篇)
PM维他命 · 2023-02-22 · via 人人都是产品经理

当你接到一个Excel批量导入的需求时,你会怎么做?如何做,才能够让它更加完善?作者结合自己的一些做法,整理了一些我对Excel批量导入这一块的理解,希望对你有所帮助。

背景

上周五的时候,深夜在搞一个Excel批量导入的需求,然后突然意识到这个导入需求不是那么简单的,甚至可以说任何一个导入需求如果要做到比较完善其实都不简单。

然后突然就有了灵感,我把之前做过的一些导入的需求大概看了一下,然后整理了一些我对Excel批量导入这一块的理解,把一些可能容易被忽视的知识点给大家拆解一下。一方面是对我自己过往知识做一个总结,另一方面也是把这个东西做成一个“组件化方案”,后续在其他场景要用的时候,直接拿来用就好了,最后也可以把这个东西分享给大家,让大家也能做到开箱即用。

本文我打算拆成上下篇来讲,上篇是讲Excel导入的一些校验逻辑和补充知识,下篇再来讲怎么设计Excel的导入模板,怎么做一些好的交互体验。

一、导入的几个步骤

一般来说,B端产品的Excel的导入处理逻辑,可以拆解出这么几个步骤:

  1. 上传Excel模板,解析模板文件;
  2. 校验模板文件中的字段,确认数据合法合规;
  3. 执行业务逻辑,一系列逻辑处理;
  4. 插入数据库表中,导入完成;

二、导入时的几个核心点

既然有4个核心的步骤,那么也意味着这4个步骤都有可能会出错,我们可以对这4步分别梳理,确认一些比较常见的异常场景,然后给出对应的解决方案。

1. 上传并解析模板

  • 模板文件格式不对,例如只支持.xlsx,但是上传了.pdf,就会报错;
  • 模板文件体积太大,例如仅支持上传5MB以内的文件,但是上传了一个10MB的文件就会报错;
  • 模板无法解析,由于一些Excel会加密,空白或者是已损坏无法打开,导致文件解析失败;
  • 模板数据量太大,例如只支持一次导入5000行数据,如果超过就会报错或者只取前5000条;
  • 模板格式错误,例如修改了模板的一些表头或者是列,导致无法解析匹配也会报错;

2. 校验模板文件中的字段

  • 字段校验失败,例如字符长度,字符为空,字符格式,字符校验规则不通过等,就会报错;
  • 字段重复,例如第一行和第二行的内容重复了或者大多数重复,就会报错(视业务规则而定);
  • 字段之间的逻辑关系不对,例如填了A字段,那么B字段就必须存在等,这些字段之间存在预设的某些逻辑关系,可以在校验模板文件中的字段这个阶段去做对应的判断,也可以放在业务逻辑层的时候去判断:例如结束时间必须要大于开始时间,A列的值必须要小于B列的值等;

3. 执行业务逻辑

  • 导入的字段在系统中不存在,例如导入SKU库存,但是系统中不存在该SKU,就会报错;
  • 导入的数据和要更新的数据不匹配,例如导入了订单的3条明细,但是订单实际只有2条明细,就会报错;
  • 用导入的数据去执行一些业务逻辑失败,例如批量更新单据的状态,但是单据是不可更新的状态,就会报错;
  • 还有其他一系列和业务逻辑相关的判断,都会在这一层做处理;

4. 插入数据库表中的时候

  • 数据写入失败,由于超时或者程序错误,则导致报错;
  • 数据重复导致插入失败,也会报错;
  • 还有一些其他的程序异常的场景,都会报错;

三、导入的一些补充知识

1. 导入是部分成功还是全部成功?

在Excel导入的时候,数据量可能会比较多,如果1000条数据只要有1条失败,那么这1000条都不允许导入,那这种就是属于“全部成功”的逻辑,即要求全部成功才可以正常导入。如果1000条数据有1条失败,但是999条可以导入,那么这种就是属于“部分成功”的逻辑,总体来说,导入支持部分成功、部分失败,对用户的体验来说会好很多。

如果是“全部成功”的模式,那么最好也是能将Excel所有的行数据处理完,然后将失败了的信息单独列出来,方便用户定位问题,修改模板。这里还需要注意一下,最好避免“挤牙膏式”的报错。如果某一行有多个错误,那么直接将所有的错误都呈现出来,不要一次只报一个错,然后客户反复修改,造成不好的体验。

如果是“部分成功”的模式,那么导入之后会直接告诉导入的结果,成功了XX条,失败了XX条,还可以单独下载失败的内容。

2. 同步导入还是异步导入?

同步导入,就是在导入Excel的时候页面一直在处理中,需要等待导入完成之后才可以进行其他操作。

异步导入,就是导入Excel的任务提交之后,会在后台运行导入的任务。这个时候用户可以进行其他操作,等到导入任务处理完成之后再通过站内消息来通知处理。

如果Excel数据量很大,业务逻辑比较复杂,耗费时间的导入,那么建议使用异步导入;如果是小数据量,导入逻辑不复杂,速度也很快的,那么就使用同步导入即可。

同样的道理,针对导出(下载),也可以使用一样的逻辑去处理。

3. 是导入覆盖,还是更新?

这个是属于业务层的判断了,导入覆盖的意思就是导入的数据直接覆盖已有的数据,直接简单粗暴。

导入更新则是每条导入的数据都要和已有的历史数据进行比较,如果有相同的就更新,没有就插入。

具体自己看业务场景来取舍,一般来说导入更新的场景比较多,直接覆盖的比较少。

4. 按表头名称还是表头坐标来匹配

Excel是一个二维表,有X轴和Y轴,也就是行和列。每一列是从A开始一直到Z,然后AA到AZ这样的顺序;每一行则是从1开始一直递增。A1是一个坐标,表示第一行第一列;B3表示第二列第三行……

按表头名称匹配,就是预设的Excel模板,先解析出第一行表头的字段,然后用表头字段和系统的字段进行完全匹配,如果匹配上了,那么这一列就是特指某个字段了。表头的字段往往是第一行,可以理解为一个Key,第二行开始就是Value了。

按表头名称完全匹配

按表头坐标来匹配,就是不一定把第一行当做表头的Key,而是通过坐标来确定这个表头的Key是什么。例如第一行可以写一堆填表须知,然后第二行才是真正的表头,第三行开始才是Value值。那么A2 B2 C2就是表头字段,A3 B3 C3往下的就是具体的值了。

按表头坐标匹配

5. 固定模板导入和解析模板导入

固定模板导入,就是我提前预设好对应的Excel模板,然后用户根据我的Excel模板来填写对应的字段,然后导入的时候按字段的名称去匹配或者按字段所在的坐标(A1:B1:C2)去匹配相应的数据,这种方式的大前提就是用户不能修改模板的顺序或者模板的字段名称等。也是最常用的一种导入的设计方案。

预设模板导入

解析模板导入,就是我根据你自定义的模板导入,然后我把你的列都解析出来,然后将你Excel的列和系统中存在的字段进行手动的匹配,匹配之后就可以保存为一个解析模板。后续再导入类似结构的Excel的时候就可以直接用这个模板去解析了。比较适合那种数据来源比较多,Excel模板有很多种多样的场景。

解析模板导入

四、一些参考资料

最后分享一些不错的Excel导入设计的竞品,如果你想在这方面找一些优秀案例学习一下,那么可以看看下面的几个竞品:

  • https://hc.huoban.com/tables/8a9a/974b
  • https://qingflow.com/help/docs/6114c2ced601550046421d83
  • https://hc.jiandaoyun.com/doc/9084

五、总结

今天在收集Excel导入相关的知识的时候,我突然脑海中蹦出来了这么一个词:叫作“组件化竞品”或者“竞品组件化”,可以简称为“组件化产品方案”。

怎么理解这个词呢?

首先,什么是组件化?我们可以简单地把组件理解为完成某些特定功能的模板,例如Axure中的母版或者前端框架中的组件。

它的特点是:聚焦于某个小的场景,解决某个小的需求,而且和复杂的实际业务本身没有太多耦合性。例如前端的一些输入组件,图片上传组件,还有产品的一些Axure组件等。

那么,我们在再来看一下什么是竞品,竞品这个词产品经理们肯定是不陌生的。简单理解就是同行,相同的竞争者,我们都需要做相似的事情。很多时候我们关注的都是直接竞品,即做的业务和方向和我们很相似,系统方案上也大同小异的。但是除了直接竞品之外,我们还有很多时候会需要借鉴间接竞品或者非竞品的一些产品设计,例如一些大厂的交互设计,业务逻辑设计等。

这两者一组合,就得出来了我想要表达的:通过一些组件来启发自己找一些竞品来参考学习,设计能提升自己工作效率的组件化方案

在日常工作中,我们能或多或少会做很多重复的事情,这些重复可能是重复自己,可能是重复别人,可能是重复之前的公司等,总之就是有很多事情的解决方案其实是可以拿来即用的。

例如,登录注册相关的业务,基本上都大同小异,我在A公司做过一次,那么我在B公司的时候也需要做一遍,那我直接拿A公司的方案是最快的。同样的道理,Excel的导入和导出方案也是属于一次整理输出之后,后续就可以直接复用,只需要做很小范围的改动。

Excel的导入和导出,这种设计方案是从多个竞品系统,甚至都可以不是竞品的系统上拿来借鉴使用,这就是“组件化竞品”的意思。

花时间把日常的工作中可以抽出来作为“组件”的内容整理一下,然后分别找时间去查阅相关的优秀的解决方案(竞品),然后把它整理成一套可复用的“组件化竞品”,后续要用的时候就可以做到开箱即用。

这件事情,我大约是在1年前意识到,然后半年前开始践行的,所以大家会发现我的语雀知识库有很多经验的总结,其实就是“组件化竞品”的缩影。

希望上面的一些思考,会对你有帮助。

专栏作家

我叫维他命(Vitamin),微信公众号:PM维他命,人人都是产品经理专栏作家。前PHPer,做过在线教育类产品,也做过5年多的跨境供应链方向的产品,现任某跨境电商ERP的产品负责人。主要专注于WMS/OMS/TMS/BMS/ERP等领域,分享跨境和供应链相关的产品知识。

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

题图来自Unsplash,基于 CC0 协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。