乐于分享
好东西不私藏

我用AI写了个BOM查错工具,电子工程师看完直呼降维打击

我用AI写了个BOM查错工具,电子工程师看完直呼降维打击

大家好!我是小纬。

一个完全不懂前端的硬件工程师,靠AI编程搭子30分钟搞定了一个专业级BOM对比工具。这篇文章手把手教你复刻。

1/先说痛点:BOM查错有多痛苦?

做过电子硬件的朋友都知道,BOM(Bill of Materials,物料清单)是每个项目的命根子。

一块PCB板子上,少则几十个元器件,多则上千个。每次改版、每次换料、每次对接供应商,都要核对BOM。

常规的做法是什么?

打开两份Excel,左边一份右边一份,眼睛来回扫:

• 这个电容从100nF改成了470pF,改了没?✅

• 那个电阻封装从0201换成0402了,对了没?✅

• 位号C18到底是电容还是电阻?等等,怎么两边不一样?❌

一份60行的BOM,人工对比至少要30分钟。

而且最要命的是——人眼会漏。

漏掉一个电容值的差异,可能就是一批板子报废。漏掉一个封装的变更,可能就是贴片机停线。

我就想:这种重复劳动,AI能不能帮我搞定?

2/30分钟,从想法到上线

我不是程序员,我是个硬件工程师。

但我有个AI编程搭子——我跟它说了我的需求:

"我想做一个BOM查错对比工具,上传两份Excel,自动找出差异。"

然后我把我的BOM文件发给它,它自动分析了文件结构:

列名:序号、物料编码、物料名称、型号、参数描述、位号、数量、单位、封装、品牌、备注

接着它问了我三个关键问题:

1. 用什么字段做匹配?→ 型号

2. 最关心哪些差异?→ 数量、型号、位号、封装、参数描述

3. 部署到哪?→ GitHub Pages(免费托管)

然后……代码就写好了。

没错,我全程没写一行代码。

3/工具长什么样?

打开网页,你会看到一个清爽的界面:

第一步:上传两份BOM

左边放基准版本(比如V1.0),右边放对比版本(比如V1.1)。支持 .xlsx 和 .csv 格式,拖进去就行。

上传后,工具会自动识别BOM格式,告诉你它认出了哪些字段:

识别到的字段映射:

型号 ← Comment型号

位号 ← Designator位号

封装 ← Footprint封装

这里有个很酷的设计:它能自动识别不同格式的BOM。

公司内部BOM有11列,立创EDA导出的BOM只有3列,列名还不一样。但工具能智能匹配,不用你手动配置。

第二步:选择对比维度

勾选你关心的字段:

☑️ 型号(元器件型号变了没?)

☑️ 位号(位号对得上吗?)

☑️ 封装(封装改了没?)

☑️ 数量(数量对吗?)

☑️ 参数描述(规格描述一致吗?)

第三步:一键对比

点击「开始对比」,结果秒出:

🟡 有差异:5项

🟢 B独有:2项(新增的物料)

🔴 A独有:1项(删掉的物料)

⚪️ 一致:52项

差异项会高亮显示,A和B的值并排对比,一眼就能看出哪里不同。

第四步:导出报告

点「导出报告」,自动生成一份Excel对比报告,发给同事或存档都方便。

4/技术揭秘:纯前端,零后端

这个工具的技术方案非常简洁:

• HTML + CSS + JavaScript,一个文件搞定

• SheetJS 库解析Excel文件

• 纯浏览器端处理,你的BOM数据不会上传到任何服务器

• GitHub Pages 免费部署,全球可访问

为什么选择纯前端?

1. 数据安全 — BOM是公司机密,不能传到别人的服务器上

2. 部署简单 — 不需要买服务器,不需要搞数据库

3. 使用方便 — 打开网页就能用,不用安装任何软件

5/核心代码解析

如果你也想学,这里是最核心的几段逻辑:

1、智能识别BOM格式

不同来源的BOM,列名千奇百怪。我们用一个别名映射表来统一:

const FIELD_ALIASES = {

  '型号': ['型号', 'Comment型号', 'Comment', 'Value'],

  '位号': ['位号', 'Designator位号', 'Designator', 'Reference'],

  '封装': ['封装', 'Footprint封装', 'Footprint', 'Package'],};

上传文件后,自动扫描表头,匹配到对应的标准字段名。

这就像给不同方言装了个翻译器,不管你说"型号"还是"Comment",我都知道你在说同一个东西。

2、自动检测表头位置

公司BOM前面有4行标题信息,立创BOM第一行就是表头。怎么办?

扫描前20行,找到包含2个以上已知字段名的行,就是表头。不用手动指定,工具自己找。

3、对比算法

用匹配主键(比如型号)建立索引,然后逐项对比:

• A有B没有 → A独有(可能被删了)

• B有A没有 → B独有(可能是新增的)

• 都有但值不同 → 有差异(重点关注!)

• 都有且值相同 → 一致(放心)

简单粗暴,但非常有效。

6/实际使用效果

我用公司的一份主板BOM(60+行物料)和立创EDA导出的BOM做了对比:

以前:人工对比30分钟,还不确定有没有漏

现在:上传 → 点对比 → 3秒出结果,差异一目了然

省下来的时间,够我多喝两杯tea了 ☕️

7/你也可以拥有

工具已经开源,免费使用:

🔗 在线使用:https://daiwei191413.github.io/bom-compare/

🔗 源码地址:https://github.com/Daiwei191413/bom-compare

使用方法:

1. 打开链接

2. 上传两份BOM文件

3. 勾选要对比的字段

4. 点击「开始对比」

5. 查看差异,导出报告

完全免费,数据不上传,放心使用。

写在最后

很多人觉得"AI编程"离自己很远,觉得要先学会写代码才能用AI。

其实不是的。

你只需要知道自己要什么,AI来帮你实现。

就像这个BOM对比工具,我从头到尾没写一行代码,但我清楚地知道:

• 我的痛点是什么(BOM对比太痛苦)

• 我的数据长什么样(Excel格式,哪些列)

• 我想要什么效果(上传、对比、高亮、导出)

把这些告诉AI,它就能帮你搞定。

这就是AI时代的超能力:不是会写代码,而是会提需求。

如果你也有类似的工作痛点,不妨试试用AI来解决。说不定30分钟后,你也能拥有一个专属工具。

💬 互动时间:

1. 你在工作中有什么重复性的痛苦操作?评论区告诉我,我来帮你想想AI能不能搞定

2. 电子工程师朋友们,你们平时用什么工具对比BOM?有没有更好的方案?

3. 如果你试用了这个工具,欢迎反馈体验,我会持续优化

觉得有用的话,转发给你的硬件工程师朋友们吧!👇

关注我,一个用AI解决实际问题的硬件工程师。下期预告:用AI做一个元器件选型助手,输入参数自动推荐替代料。

生命不止、折腾不休的终身学习者!期待和一群志同道合的家人们,持续精进AI的每一天。在科技浪潮中破茧成蝶。