返回项目列表
云鲸智能云鲸智能2026-07 至 2026-09

备料清单自动助手

NPI 试产物料需求自动化工具

角色:独立开发负责人PythonExcel钉钉开放平台 API
5 类数据源统一治理硬错误阻断 + 软异常预警两级校验本地 Excel 与钉钉在线表格双数据源

备料清单自动助手 · 用户说明书

目录

🚩面向群体:使用 material_list_make_gui.exe 的 PMC 同事

读完本文,你将知道这个工具「做什么、为什么这样做、每个按钮怎么点、出现红色报错或黄色警告时该怎么处理」。

业务背景

试产(NPI)阶段的特点是:量小、物料杂、变更多。PMC 每次要备料,都需要把好几张来源表(样机需求、三张BOM表、单体需求)手工汇总成一张「备料清单总表」,既耗时又容易算错。

之前的问题

之前的备料备料清单模板,有这些毛病:

  • 字段混乱:字段含义混乱,甚至同个字段有多种信息,十分具有迷惑性。

  • 粒度不清:一行到底代表什么,没人说得准,同一颗物料可能多行出现、信息混乱。

  • 公式混乱:公式写错甚至没有公式,纯靠手算,一改数据就错。

  • 信息保留不全:模板只提取部分信息,想看别的信息又得返回去翻数据源,而且数据源一变,旧信息就对不上了。

  • 信息来回兜圈子:比如 MC 想知道某物料「单体需求是谁提的」,得先来问你,你再回去翻原表,耗时耗力,还没个准信。

💡本工具把这些问题都解决了,尤其是溯源你只要在原表上稍作修改就能算出总表。原表就是完整的信息源,任何已知信息都能直接查到,不用再兜圈子问人

核心优势

  • 原表稍作修改,就能得到总表 > 不用大改表格结构,在原表基础上稍作修改,即可得到"备料清单总表"。

  • 信息可溯源、不用兜圈子问人 > 想知道某物料的其他源信息,直接看原表就有答案。

  • 该拦的拦、不该拦的不拦 > 数据有错(红色)会停下提醒你改;疑似问题(黄色)只提醒、不打断。

  • 本地 Excel 和钉钉表格都能用 > 同一套操作,两类数据源。

  • 加字段不用改程序 > 想多展示几列?加「自定义字段」就行,总表列自动跟着变。

  • 新增字段永不丢 > 程序只更新自己负责的列,你填的 MC 新增列按物料号对齐、原样保留。

  • 多表独立管理、历史可追溯 > 每张表单独绑定、单独记录运行历史。

  • 样式不会被搞乱 > 来源表随便设样式不影响读取;总表里你设的冻结、隐藏列,更新后原样保留。


💡本工具就是 制作备料清单自动化

  • 只需要维护好那 5 张来源表;

  • 点一下「运行」,程序自动读取、检查、汇总;

  • 自动生成(或更新)一张「备料清单总表」,MC直接在总表上继续填备注即可。

输入与输出

内容
输入(5 张表)样机需求EBOM_硬件EBOM_结构EBOM_包材单体需求
输出(1 张表)备料清单总表
数据来源本地Excel文件,或钉钉在线表格(两种都支持,一次只跑一张表)

设计逻辑

🤔每一次运行,发生了什么?

👉一句话概括:先检查,再提醒,最后才算


程序每次点「运行」后,后台自动执行以下步骤:

  1. 先做硬检查(防呆):检查表头字段对不对、有没有重复、有没有合并单元格。这些问题会导致「算出来的数不可信」,所以一旦发现就停下来,报红色 ERROR,等你改好再跑。

  2. 再做软提醒(复核):检查一些「可能是问题、也可能是有意为之」的情况,比如同一替代组里有好几颗料都启用了。这些不一定是错,所以只报黄色 WARNING,不中断,让你自己判断。

  3. 最后汇总计算:把样机需求、单体需求按物料号汇总,生成总表。

✔️贯穿始终的设计原则:

红色 ERROR = 数据有问题,必须改,程序不继续跑。 黄色 WARNING = 提醒你核对,可能没问题,程序继续跑。

这样区分的目的是「该拦的一定拦,不该拦的绝不拦」。既不让脏数据悄悄进总表,也不因为一点小瑕疵就让整个流程卡死。

怎么看GUI界面

打开 material_list_make_gui.exe 后,窗口从上到下、从左到右分成几个区:

image.png

🚩各区作用:

  • 全局配置(最上):填钉钉凭证。所有钉钉项目共用,只填一次即可;只用本地 Excel 的项目可以不管它。

  • 项目管理(左上):列出你绑定的所有表。在这里选中任一张表,可以「项目配置」或「运行」。

  • 项目配置(右上):编辑当前选中(或正在新建)的项目信息:项目名、数据源类型(本地Excel/钉钉表格)、位置、读取范围、自定义字段。

  • 各表必选字段(右下):供用户阅读参考,告诉你每张表必须有哪些列。填「自定义字段」时照着对,避免写错表头。

  • 运行日志(左下):运行过程的实时输出,可滚动查看信息。红色是报错,黄色是警告,正常信息是灰白字。

  • 状态灯:运行日志卡片右上角的小圆点,显示当前状态(就绪 / 运行中 / 完成 / 失败)。


💡设计思想:界面布局 完全按 业务逻辑 和 用户使用 来设计。直观、好上手~

怎么用

准备:钉钉配置

  1. 双击 material_list_make_gui.exe 打开程序。

  2. 如果你要用钉钉表格:在「全局配置」里填好 AppKey、AppSecret、unionId,点「保存凭证」。(只用本地Excel可跳过这步)

  3. 点左上角「+ 新建」,右侧「项目配置」被清空,进入录入状态。


🚩钉钉应用权限说明

只有用钉钉表格时才需要关心这一节;只用本地 Excel 可以跳过。

程序要从钉钉在线表格自动读数据、写回结果,靠的是钉钉开放平台上的一个「企业内部应用」。

我找企业的钉钉管理员创建了名为「备料清单自动化工具」的应用,并给应用开通了 4 项 API 权限:

  1. 成员信息读权限

  2. 调用企业 API 基础权限

  3. 钉钉表格读权限

  4. 钉钉表格写权限

如要使用该应用,需要以下信息:

  • AppKey:这个固定

  • AppSecret:这个固定

  • 企业 CorpId:这个固定

  • 你的 unionId一定不要与他人分享自己的 unionId!如果有其他同事想申请该应用的使用权,可以联系企业的钉钉管理员在应用里添加,就有相应的 unionId。

👉你在程序的「全局配置」里填上 AppKey、AppSecret、unionId 这三项并保存,就能连上钉钉表格了。

⚠️注意:钉钉表格读写属于敏感权限,应用信息不要随意分享!

新建项目:绑定一张表

  1. 在「项目配置」里填:

    • 项目名:给这张表起个名字(如 X34_35_36_37),方便在列表辨别。

    • 数据源类型:选「本地 Excel」或「钉钉表格」。

    • 位置

      • 本地 Excel → 点「浏览…」选中文件,或直接填文件路径;

      • 钉钉表格 → 粘贴表格链接(程序会自动提取表格 ID)。

    • 读取范围:只有钉钉表格需要填,默认 A1:Z1000,一般不用改。

    • 自定义字段:除必选字段外,你希望额外抓到总表的列。格式是 ["字段1","字段2"],留空或填 [] 表示不额外抓。

  2. 点「保存配置」。项目就出现在左侧列表里了。

日常使用:跑一次备料

  1. 在左侧「项目管理」列表里单击选中要跑的项目。

  2. 点「▶ 运行选中项目」。

  3. 看右下角「运行日志」:

    • 出现黄色 WARNING:程序没停,继续往下跑,你只需留意这些提醒;

    • 出现红色 ERROR:程序中断,按提示去改来源表,改完再重跑;

    • 全部跑完且无红色报错:弹出「成功」提示,总表已更新。

  4. 到 Excel / 钉钉,打开「备料清单总表」Sheet,添加额外需要的字段(常用于和MC协作,属于"MC新增列")。

变更流程:如何改数据

为了保留完整历史、也避免多人冲突,建议按下面的顺序操作:

  1. 改数据源:直接在 5 张源表里改数据。原则是只增加数据行,不删除旧行。如果某物料不需要了,把它的数量改成 0 即可,不要整行删掉,这样历史记录才完整。

  2. 写变更履历:在每个项目文件(本地 Excel / 钉钉表格),建一个名为「变更履历」的 Sheet,按自己的习惯记下这次改了什么

  3. 运行程序:点「运行选中项目」,更新「备料清单总表」。


💡设计思想

  • 每次变更,直接修改源数据,然后系统自动更新「备料清单总表」。

  • 变更履历仅起到标记的作用,用户可根据自己习惯自由记录变更点。

  • 每个项目(本地 Excel / 钉钉表格)的数据源表(5 张输入表)和「备料清单总表」,都保持最新的状态,并状态一致。变更历史在「变更履历」体现。

👍推荐:利用钉钉表格自带的「版本管理功能」,固定时间保留完整历史快照。例如,每周二 / 周五 作为节点,保存为历史版本。

image.png

💡如果需要 对比不同历史版本的备料清单,方法有很多。复杂情况可考虑 diff2excel_gui.exe自动化工具,详细说明见:《Excel 比对工具 · 使用说明书》


👍推荐:给钉钉共享表加一张「说明介绍Sheet

如果你的表是钉钉共享表(会被很多人查看、编辑),建议再加一个名为「说明介绍」的 Sheet,给所有查看/编辑的人写清楚几件事:

  • 5 张来源表分别是什么、各有什么用途(方便回溯数据源);

  • 1 张输出表「备料清单总表」是什么:每一行代表一颗不重复的物料;

  • 警告:不要在「系统更新列」里编辑

  • 警告:不要随意新增 Sheet 或做外部链接,避免表格越来越臃肿;

  • 如果要增加字段或、增加 Sheet,请联系表格管理员(表格负责人)统一处理。这样共享表用起来更省心,别人也不会误改程序负责的列。

查看 / 修改 / 解绑

  • 查看运行历史

    选中项目 → 点「查看历史」,能看到这张表每次运行的时间、成功/失败、结果行数。

  • 修改项目

    选中项目 → 右侧直接改 → 点「保存配置」。

  • 解绑

    选中项目 → 点「解绑」→ 确认。解绑只删掉程序里的记录,不会删除表格本身

程序的文件目录结构

第一次运行主程序 material_list_make_gui.exe 后,程序会在同级目录下自动生成两个东西:

(程序所在文件夹)
├── material_list_make_gui.exe   ← 主程序,双击运行
├── projects.json                ← 程序自动生成的配置(钉钉凭证 + 项目列表)
└── history/                     ← 程序自动生成的运行历史(每张表一个记录)

几点说明:

  • 主程序:双击 material_list_make_gui.exe 启动。

  • projects.json:程序自动维护,里面存着你填的钉钉凭证和所有项目绑定信息。如果删除,不影响主程序运行,但是所有配置信息会清空;重新运行,又会自动生成新的 projects.json

  • history/:程序自动记录每张表每次运行的时间、成功/失败、结果行数,供「查看历史」用。如果删除,不影响主程序运行,但是历史信息会清空;重新运行,又会自动生成新的 history/

👍建议:把 exe 放在一个固定的文件夹里,不要到处拖来拖去。因为 projects.json 和 history/ 都跟着 exe 走,exe 一旦移动,配置和历史就留在了原地。

系统校验逻辑

必选字段 vs 自定义字段

来源表里的每一列,程序只认两种字段:

  • 必选字段:计算「备料清单总表」所必须的字段,缺了就报错、算不了。每张表的必选字段,见看板右下角「各表必选字段」。

  • 自定义字段:计算不必须、仅为了方便展示而额外抓到总表的字段。你可以随时增删,总表的列会跟着变。

其余既不是必选、也不是自定义的列,程序完全不看。


为保证总表数字可信,程序读表时有几条「铁律」:

  • 只认「有字段名的列」:第一行是表头,表头写了字段名的列才参与计算;某列有数据但没有字段名(或表头是空的、是 Excel 自动生成的「Unnamed」),一律忽略。

  • 字段不能重复:同一个字段名(必选字段或自定义字段)在一张表里只能出现一次。出现同名第 2 列,程序无法判断该取哪一列,会停下来。

  • 标识列统一成文字并去掉空格:物料号、成品料号、配置、CP配置、整机属性、SKU作用域、特殊子作用域(SKU)、需求人、替代组,这些用于「对号入座」的列,程序都会去掉空格、统一格式,避免「1001」和「1001 」或数字 1001 和文本 "1001" 匹配不上。

  • 主键唯一:每张表有一个「主键」用来唯一定位一行(见下表)。主键为空的行会被剔除并提醒;主键重复的行会直接报错,因为重复会导致数量被重复计算或互相覆盖。

  • 数值列容错:样机需求数、整机用量、单体需求数这几列,遇到「不是数字」或「负数」的值,按 0 处理并提醒,不让一处脏数据把整个流程弄崩。

各表的主键与粒度

各表的主键与粒度如下(界面右下角也能看到必选字段):

主键(决定一行是否重复/唯一的依据)粒度(一行代表什么)
样机需求成品料号 + 配置某个「成品料号」在某「配置」下需要几台样机
EBOM_硬件整机属性 + 物料号一颗物料在某「整机属性」下的 BOM 明细
EBOM_结构整机属性 + 物料号一颗物料在某「整机属性」下的 BOM 明细
EBOM_包材SKU作用域 + 物料号一颗物料在某「SKU作用域」下的 BOM 明细
单体需求需求人 + 物料号某「需求人」对某物料的需求数量
备料清单总表物料号一个去重后的物料号及其信息
(同一物料在多张来源表里的数量汇总成一行)

说明:

  • 主键:程序用它判断「两行是不是同一条记录」。主键为空的行会被剔除并提醒;主键重复(出现两行主键完全相同)会直接报错。

  • 粒度:一行到底代表「一条什么样的记录」。

🚩关于 主键 和 粒度 的概念说明,可见《粒度+主键》


💡设计思想

  • 这几张表的来源不同:样机需求单体需求 来自项目部门,三张 EBOM 来自研发部门。

  • 主键是按「每张表本身的数据结构 + 业务逻辑」来定的,目的是让你在原表上稍作修改就能对接出总表,而不是大改表格结构

  • 作用:减少用户整理数据源的工作量,方便使用~

🚩举例:

EBOM_硬件EBOM_结构 的主键是「整机属性 + 物料号」—— 因为这两张原表记的就是「某整机属性(基站/机器人)下每颗物料的情况」。

EBOM_包材 的主键是「SKU作用域 + 物料号」—— 因为这张表的信息是按「成品料号(SKU)」来给的。

👍三张 EBOM 通过标签和样机需求表对上号,就能算出每颗物料的「样机需求」,再加上「单体需求」的数量,就是总需求数

字段:特殊子作用域(SKU)

EBOM_硬件EBOM_结构 表,有个字段「特殊子作用域(SKU)」,它是为了解决「同一个项目有多个国家版本、物料略有差异」的问题。


❓为什么要这个字段

有些项目有很多国家版本,同一个项目下不同国家版本的物料会稍有不同。

例如,项目X34&35&36&37,有中国内地版、美版、欧版:其中,内地版、欧版是高压,美版是低压,于是有些电子料的高低压就要区分;还有别的区分(比如抬升组件等)。不同国家版本的区别虽然不多,但杂且碎,并且这些区别往往只是研发口头告诉你的,很容易漏、很容易错,因此需要特别注明。当然,就算做了注明,如果注明方式不当,不仅没起到标注的作用,反而让表乱上加乱。

所以最好的办法就是在原 EBOM 上打标记,直接标注这颗料到底用在哪些 SKU(国家版本)上。这个标记就是「特殊子作用域(SKU)」字段。


❓怎么填

  • 留空:表示整机属性下的所以 SKU 都通用。

  • 仅:SKU1,SKU2:表示这颗料用在整机属性下列出的这几个 SKU 上。

  • 非:SKU1:表示这颗料用在整机属性 SKU1 之外的 SKU 上。

冒号用半角 :,多个 SKU(CP料号) 用半角逗号分隔

参考案例:《x34_35_36_37_20260811_101430.xlsx》


❓填写起什么作用

程序按这个标记去匹配样机需求表:把「仅/非」后面的 SKU 和样机的「成品料号」对上号,从而精准算出这颗料到底要备在哪些国家版本上、各需要多少。标得准,数才准;标错或漏标,数量就会对不上(程序会报黄色警告提醒你)。

报错与警告详解

下面逐条说明可能出现的提示

红色报错

红色报错:ERROR,程序中断,必须处理

🚩出现红色报错时,程序会停下,总表不会被更新(或不会被错误地更新),你在来源表里改好对应问题后重跑即可。


1、缺少必要工作表

  • 提示:如,缺少必要工作表: '样机需求',请检查文件。(表名可能是任意一张)

  • 为什么:5 张输入表是固定要求,缺一张就没法汇总。

  • 怎么办:确认文件/表格里 5 张表都在,且名字一字不差(样机需求、EBOM_硬件、EBOM_结构、EBOM_包材、单体需求)。


2、缺少必选字段

  • 提示:如,表【EBOM_硬件】缺少必有字段: [...]。请核查表头首行。

  • 为什么:汇总依赖这些字段,缺了就算不了。

  • 怎么办:核对右下角「各表必选字段」参考,把缺的字段名补到表头第一行。


3、有效字段出现多次(字段重名)

  • 提示:如,表【EBOM_硬件】有效字段出现多次: [...]。每个必选字段/自定义字段在表中只能出现 1 次,请核查首行字段名。

  • 为什么:同名列出现第 2 列,程序分不清该读哪一列,可能算错,所以直接拦下。

  • 怎么办:检查表头,把重复的字段名改成唯一(或删掉多余的列)。


4、主键重复

  • 提示:如,表【单体需求】主键 ['需求人', '物料号'] 不唯一,存在重复行记录。

  • 为什么:主键重复意味着同一「人 + 物料」出现两行,数量会被算重,所以必须报错。

  • 怎么办:在来源表里找到重复的那两行,合并或删除其一。


5、合并单元格

  • 提示:如,表【EBOM_硬件】的提取目标字段列中存在合并单元格(坐标:...)。试产数据必须颗粒度到底,请取消合并并填充完整后重试。

  • 为什么:试产数据要求「一行一条物料记录」,合并单元格会导致数据错位、漏算。这是最危险的一类问题,所以宁可报错也不硬算。

  • 怎么办:取消必选字段所在列的合并单元格,把每个格子都填上真实值。


6、特殊子作用域(SKU) 格式错误(硬件 / 结构表)

  • 提示:如,... '特殊子作用域(SKU)' 格式错误,必须以半角 '仅:' 或 '非:' 开头。 或 ... 冒号后存在空 SKU ... 或 ... 存在重复的成品料号 ...

  • 为什么:这个字段是精确的过滤条件,格式必须是「仅:SKU1,SKU2」或「非:SKU1」,写错会导致过滤错乱。

  • 怎么办:按格式改。注意冒号是半角 :,SKU 之间用半角逗号分隔,同一行里 SKU 不要重复。


7、SKU作用域 格式错误(包材表)

  • 提示:如,... 'SKU作用域' 不能包含冒号等前缀 ... 或 ... 存在空 SKU ... 或 ... 存在重复的成品料号 ...

  • 为什么:包材的SKU作用域只填 SKU 列表(如 SKU1,SKU2),不需要「仅:/非:」前缀,写了前缀反而会引起歧义。

  • 怎么办:去掉冒号前缀,只保留逗号分隔的 SKU 列表。


8、文件被占用

  • 提示:如,文件访问被拒绝:目标工作簿可能正被 Excel 打开,请关闭后重试。

  • 为什么:程序要写回总表,而文件被 Excel 打开时会锁住,无法写入。

  • 怎么办:关闭正在打开该文件的 Excel,再重跑。


9、其他(项目配置类)

  • 项目 'xxx' 缺少本地文件路径 / 缺少钉钉表格链接 → 回到「项目配置」把「位置」填上。

  • 项目 'xxx' 已存在 → 换一个项目名,或先解绑旧的。

  • 未找到项目 'xxx' → 项目列表里没这个项目,检查是否输错名字。

  • 钉钉报 HTTP Error 404 等 → 通常是链接/凭证不对或网络问题,检查钉钉凭证与表格链接是否有效。

黄色警告

黄色警告:WARNING,不中断,提醒核对

🚩黄色警告不会让程序停下,程序照常算完并更新总表。你要做的是「看一眼、判断是不是真有问题」。


1、主键 存在空值,已剔除

  • 提示:如,表【样机需求】主键 [...] 存在空值,已剔除并继续运行,涉及行 [...]。

  • 为什么:主键为空的行无法定位是「哪条记录」,只能剔除,但会明确告诉你去掉了哪些行,避免你误以为这些行被算进去了。

  • 怎么办:核对那几行是不是漏填了;如果是表格末尾的空行,可以忽略。


2、数值列 不是数字 / 是负数,按 0 处理

  • 提示:如,表【EBOM_硬件】第 5 行 '整机用量' 不是有效数值 (...),将按0处理。 或 ... 为负数 (...),将按0处理。

  • 为什么:数量是负数或非数字没有物理意义,按 0 处理并提醒,而不是因为一处错误让整个流程崩掉。

  • 怎么办:去来源表把那个格子改成正确的正数。


3、属性列 填了非法值(样机需求表)

  • 提示:如,表【样机需求】列 '机器人' 存在非法值,仅允许填 1 或留空。... 将按0处理。

  • 为什么机器人 / 大基站 / 小基站 这三列只表示「是不是这类样机」,规定只填 1 或留空。填别的值(包括 0)会被当成没勾选。

  • 怎么办:把该列的值改成 1 或留空。


4、整机属性非法(硬件 / 结构表)

  • 提示:如,表【EBOM_硬件】第 3 行 '整机属性' 非法 (...),合法值: 机器人,大基站,小基站,该物料不计入样机需求。

  • 为什么:程序只会把物料匹配到「机器人 / 大基站 / 小基站」这三类样机,别的属性值没法归类,于是不参与样机需求计算,但要提醒你。

  • 怎么办:把整机属性改成三者之一,或确认这条物料确实不需要计入样机。


5、CP配置 不在样机范围内

  • 提示:如,表【EBOM_硬件】第 4 行 'CP配置' 不在样机配置范围内 (...),该物料不计入对应配置需求。

  • 为什么:CP配置 要和样机需求表里的「配置」对上号,对不上就说明这条物料不匹配任何样机,不参与对应计算。

  • 怎么办:核对 CP配置 是否写错,或样机需求表里是否缺了这个配置。


6、SKU值 不在样机成品料号集合里

  • 提示:如,表【EBOM_硬件】第 2 行 '特殊子作用域(SKU)' 中的 SKU 'xxx' 不在样机成品料号集合中。

  • 为什么:SKU 作用域里填的 SKU 应该是样机需求表里真实存在的成品料号,对不上就过滤不到,等于白填。

  • 怎么办:核对 SKU 是否写错,或样机需求表里是否漏了这个成品料号。


7、替代组内有多颗料用量 > 0(人工复核)

  • 提示:如,【人工复核】表【EBOM_结构】整机属性 '机器人', 特殊子作用域(SKU) '', 替代组 '1' 存在多个用量>0的物料: [...]

  • 为什么:「替代组」表示这几颗料是可以互相替换的。正常应该只有一颗主料启用(用量 >0),其余备选用量为 0。如果同一替代组里出现 ≥2 颗料用量都 >0,可能是重复备料,也可能是你确实想同时备几颗,所以只提醒、不拦截。

  • 怎么办:人工确认这几颗料是否都要启用;如果只需一颗,把其余备选的「整机用量」改成 0。

使用时要注意的点

  • 来源表别乱动表头:第一行的字段名、字段个数不要随意改,否则可能触发「缺字段」「字段重复」报错。需要加列时,用「自定义字段」的方式加,而不是直接插一列无字段名的数据。

  • 必选字段列不要合并单元格:合并单元格会被直接拦下。

  • 文件别一直开着:跑本地 Excel 前,先关掉正在打开该文件的 Excel。

  • 钉钉凭证别外发projects.json 里存着 AppSecret 等敏感信息,别把这个文件发给别人。

  • MC新增列永远在总表最后:程序只负责前面固定的一串列,你加的MC备注列放在最后,程序不会覆盖它,会按「物料号」对齐保留。

  • 总表里程序负责的列别手改:物料号到单体需求总数这些列是程序算出来写回的,下次运行会被覆盖,请只在 MC 新增列里编辑。

  • 不删数据行,改数量为 0:某物料不需要时,把「整机用量 / 样机需求数 / 单体需求数」改成 0,而不是整行删掉。这样能保留完整历史记录。

  • 别在别人编辑时运行:钉钉在线表格可能同时被多人查看/编辑,最好选在没人编辑的时候运行程序,避免对方的编辑和程序更新互相覆盖(对方可能白改)。

  • 来源表随便设样式,不影响读取:5 张来源表程序都是全量读取——不管字体、颜色、公式、隐藏列、筛选,只取单元格里实际的值。

  • 总表的样式不会被程序弄乱:总表的样式绑定在「行号/列号」上,跟字段名、数据无关。程序更新数据后,你设置的冻结首行、隐藏列、列宽等样式保持不变。比如你隐藏了 F 列,更新后 F 列还是隐藏的。

常见问题

  • 问:为什么我改了数据,跑完总表有些数没变?
    答:先看日志有没有黄色警告。比如整机属性非法、CP配置 不在范围、SKU 对不上,这类物料会被跳过(不计入样机需求),所以总表里没变化。按警告提示核对即可。

  • 问:黄色警告要不要处理?
    答:建议都看一眼。多数警告代表「这条数据可能没被算进去」,如果这正是你想要的(比如备选料用量填 0),可以忽略;如果不是,就去改数据。

  • 问:红色报错会改坏我的表吗?
    答:不会。红色报错发生在「写回总表」之前,程序直接停下,来源表和总表都不会被写坏。

  • 问:本地表和钉钉表能同时跑吗?
    答:可以,它们是独立的项目,分别绑定、分别运行、分别记录历史,互不影响。一次只跑你选中的那一个。