BOM 汇总工具

BOM 汇总工具

从 BOM 工作簿的「分项明细表」一键生成「汇总表」,同类项自动合并、数量相加。
11.3 MB · Windows 64 位 · 单文件免安装
下载 BOM 汇总工具(zip,含使用说明)
Windows 64 位 · 单文件免安装 · 免费,无需注册

从 BOM 工作簿的「分项明细表」一键生成「汇总表」。


一、双击就用(推荐)

dist\BOM汇总工具.exe ← 这个就是成品,免安装,双击打开。

界面从上到下一步步来:

步骤操作
1BOM 源文件 → 点「浏览…」选你那个 xxxBOM.xls
2明细工作表 → 打开文件后自动选中「分项明细表」,一般不用改
3合并依据 → 默认「名称+规格+单位+厂家+物料编码(推荐)」,一般不用改
4输出文件 → 自动填好(源文件同目录 + _汇总表.xlsx),可点「另存为…」换地方
5点 「一键生成汇总表」 → 完成后问你要不要直接打开
也可以先点「仅预览(不写文件)」,在「汇总表预览」页看结果、「生成报告」页看合并明细,确认无误再生成。

源文件一个字都不会动,结果永远写到新文件里。


二、生成规则(v1.0)

  1. 从表头行往下扫,把三个分区的明细行按原顺序接起来;
  2. 自动跳过:分区标题行(如「电源切换控制柜」「SAL1 配电室照明」)、小计行、总计行、重复出现的表头行、空行;
  3. 按「货物名称 + 规格型号 + 单位 + 厂家 + 物料编码」完全相同判定为同一种物料 → 合并成一行、数量相加,位置留在首次出现的位置;
  4. 重新编号 1..N,末尾补一行数量合计;
  5. 标题行 / 副标题(如「双电源系统清单」「08.01交货」)/ 表头 / 列宽 / 边框自动继承源文件里原有汇总表的样式。

本次的实测结果

源文件 602609012…BOM.xls:

明细项数 42  →  汇总行数 40   数量合计 210(与明细小计 180+19+11 完全一致)
合并 2 组:
  · 微型断路器 CDB9H-63/2P C3A      第24行 3 + 第29行 1  →  4
  · 配电箱壳体 500*600*250mm        第31行 1 + 第35行 1  →  2
⚠️ 和原文件里那份汇总表有 1 处差异,请核对
原文件里的汇总表是手工调过的:它把两处 CDB9H-63/2P C3A 合并成 4 之后,挪到了“微型断路器”那一堆的末尾(第 33、34 行)。
本工具按规则把合并结果留在首次出现的位置(第 20 行),因此行号会和手调稿整体错位。
内容与合计完全一致,只是顺序不同。若你确实需要"把微断集中到一起",告诉我,我加一条“按名称归堆”的选项。

三、命令行的用法(可选)

给批处理 / 定时任务用:

BOM汇总工具.exe "D:\你的项目目录\xx项目BOM.xls"
BOM汇总工具.exe "D:\你的项目目录\xx项目BOM.xls" -o "D:\输出目录\汇总.xlsx"
BOM汇总工具.exe "D:\你的项目目录\xx项目BOM.xls" -k "名称+规格+单位+厂家"
BOM汇总工具.exe "D:\你的项目目录\xx项目BOM.xls" --report r.txt
BOM汇总工具.exe --help --report h.txt
参数说明
-s, --sheet <名>指定明细工作表名,默认自动识别
-o, --out <路径>输出 xlsx 路径
-k, --key <名>合并依据(见下)
-t, --title <文字>汇总表标题
--no-preamble不继承源文件现有汇总表的抬头
--report <路径>把报告写到文件(没有控制台的窗口程序必须加这个才能看到输出)

合并依据可选:


四、支持的格式

读取写出
.xls(Excel 97-2003)✅会转存为 .xlsx
.xlsx / .xlsm✅✅

.xlsb、.et 不支持,请先在 WPS/Excel 里另存为 .xlsx。


五、常见问题

Q:数量列里写了“若干”这类文字怎么办?
A:不会报错。这一条不会参与相加,原样保留文字,并在「生成报告」里用 ※含非数字数量,未相加 标出来。

Q:报表里“含税单价/含税总价”是空的。
A:因为明细表里这两列本来就是空的,工具原样保留该列。填好价格后重新生成即可保留。

Q:能不能直接改原文件的汇总表,不另存?
A:这一版按你的选择做了“另存新文件”(最安全)。需要回写的话说一声,加个开关就行。

Q:表头不在第 2 行 / 列的顺序不一样 / 列名变了?
A:工具是在前 30 行里自动找表头的(要求至少认出「货物名称」和「数量」),列的顺序随便排都行,别名(如「物料名称」「子件编码」「需用数量」)也认。

Q:结果的行数/数量和源文件里的汇总表对不上?
A:先看「生成报告」页——里面会逐条列出跳过了哪些行、合并了哪些物料,还有一行 [OK] 汇总表数量合计 == 明细表数量合计 的一致性校验。对不上基本就是明细表里有小计行没被识别,或名称列被合并单元格了。


六、文件清单

文件说明
dist\BOM汇总工具.exe成品,双击即用,免安装
bom_summary.py源码(GUI + 命令行 + 核心算法)
test_bom_summary.py自动化校验脚本(131 项断言)
verify_gui.py界面布局无头验证
verify_package.py打包后验收(exe 与源码结果一致性等)
make_icon.py图标生成(纯标准库手写 ICO)
build.py打包脚本
示例输出\…_汇总表.xlsx用你这份 BOM 实际生成的样例结果
app.ico图标
用着有问题,或者有想要的功能?
直接发邮件到 26985331@qq.com,说明一下场景和现象就行。 工具会按反馈持续更新,更新记录会写在这一页。
Modbus 调试助手浮点数位模式转换器局域网设备扫描器表格整理工具