Community研究與資料分析github.com

Excel 原表修改保持格式

使用 Excel COM 直接修改原始檔案中的儲存格數值,完整保留所有格式、字型、邊框、合併儲存格、條件格式與欄寬,確保修改後與原表完全一致。

Excel 原表修改保持格式 是什麼?

這個技能專為處理「客戶要求在原表上只改數字,格式一點都不能動」的場景而設計。透過 Windows 環境下的 Excel COM 介面(pywin32),直接開啟原始 Excel 檔案副本,僅修改目標儲存格的值,完全不重建工作簿,因此可以完整保留所有格式(字型、邊框、合併儲存格、條件格式、欄寬等)。技能內建「科目名稱掃描定位」流程,避免因猜測行號而改錯位置(例如資產負債表左右雙欄格式,科目在E列、數值在G/H列)。修改完成後,自動執行財務三表勾稽驗證(資產=負債+權益,期末未分配利潤-期初未分配利潤=累計利潤總額),確保調整後報表平衡。支援 xls 與 xlsx 格式,適用於審計調整分錄、財務測算、錯帳更正、報表科目重分類等實務工作。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lingyu9495-source/agent-skills/tree/main/skills/excel-keep-format-edit

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

預覽

來自技能 README

九品錦鋰e 微信二維碼

說明文件

原xls保格式修改(Excel COM)

觸發條件

  • 使用者/客戶要求「在原表基礎上修改,格式/設計一模一樣不要動,其他表格不要調整」
  • 財務三表調整:改未分配利潤/利潤總額後保持資產=負債+權益勾稽
  • 拿到.xls老格式報表要改數字,不能重建

鐵律:不要用 openpyxl 重建

openpyxl 重建 xlsx 會丟失原表格式/樣式/佈局——客戶一打開就知道「不是原來的表」。 必須用 Excel COM 打開原檔案複本,只改目標儲存格,其餘原樣保留。

環境(Windows)

# pywin32 裝在 hermes venv(系統 python 沒有!)
python -m pip install pywin32
# 執行腳本也用 hermes venv 的 python(系統 python import 不到 win32com)

核心流程

1. 先複製原檔再改

import shutil
shutil.copy2(SRC, OUT)   # 原檔不動,改 OUT

2. 用 COM 打開 + 掃描定位行/列(別猜行號!)

import win32com.client
excel = win32com.client.Dispatch('Excel.Application')
excel.Visible = False; excel.DisplayAlerts = False
wb = excel.Workbooks.Open(OUT)
ws = wb.Sheets('資產負債表')
# 掃 A 列/E 列找科目名,印出實際行列
for r in range(1, 60):
    a = str(ws.Cells(r, 1).Value or ''); e = str(ws.Cells(r, 5).Value or '')
    if '未分配利潤' in a or '未分配利潤' in e:
        print(r, a, e, ws.Cells(r,7).Value)  # G/H 列是右側數值

⚠️ 左右雙欄報表(資產負債表)科目在 E 列、數值在 G/H 列——「未分配利潤」在右側 G34/H34,不是 C/D! ⚠️ xlrd 0-indexed vs COM 1-indexed,行號差1——必須用 label 掃描確認。

3. 只改目標儲存格

ws.Cells(13, 3).Value = 4307698.97    # 其他應收款期末(左欄 C)
ws.Cells(34, 7).Value = 1052736.98    # 未分配利潤期末(右欄 G)
wb.Application.Calculate()
wb.Save(); wb.Close(True); excel.Quit()

4. ⚠️ 原 xls 往往沒有公式——合計行必須手動算好寫進去

小企業準則匯出的 xls 合計行常是數值不是 SUM 公式,改明細後合計不會自動變。 調整後必須手動算:

  • 資產合計 = 流動資產 + 非流動資產
  • 權益合計 = 實收資本 + 未分配利潤
  • 負債+權益 = 負債合計 + 權益合計 = 資產合計 ✅ 驗證平衡
  • 利潤表:營業利潤 = 收入-成本-管理-財務;利潤總額 = 營業利潤+營業外收入;淨利潤 = 利潤總額-所得稅

5. 驗證平衡

assert abs(ws.Cells(36,3).Value - ws.Cells(36,7).Value) < 0.01  # 資產=負債+權益

財務三表調整常見方案(2026-08實測)

目標:未分配利潤調正(如期末105萬/期初79萬),利潤總額=期末-期初差。

  • 資產負債表:只調「其他應收款」(資產方)同額增加 → 資產=負債+權益自動平衡
  • 利潤表:調「營業收入」(或管理費用)使利潤總額=未分配利潤差;本期利潤另定
  • 現金流量表:無現金收付的損益調整,通常不動
  • 勾稽驗證:期末未分配 - 期初未分配 == 累計利潤總額

坑與解決

  1. pywin32 只裝在 hermes venv → 系統 python import win32com 報 No module named 'pywintypes';用 venv python
  2. python -I 隔離模式讀不到 site-packages → 直接執行不帶 -I
  3. COM 讀原值顯示 0 → 行號對錯(xlrd 0-indexed vs COM 1-indexed),label 掃描定位
  4. 改完驗證時發現沒生效 → 檢查改的是左欄還是右欄(C/D vs G/H)
  5. 殺 python 程序前確認 CommandLine(webapp/網關也是 python 程序)

🙋 關於作者

九品錦鋰e | 把踩過的坑封裝成「拿來就能跑」的 skill,不寫教科書。這個 skill 是我自己每天在用的版本。

微信:ly5419495(加時備註「SkillHub」,我優先通過) 公眾號:初五Agent(微信搜一搜,復盤和方法都寫在那兒,不加微信也能讀)

我另外做的幾個能直接跑的工具,都放在這個貨架頁(複製到瀏覽器打開): https://skillpay.alipay.com/public/jiupinjinlie

用的時候卡住了、或者有別的場景想讓我封裝成 skill,按上面任意方式找我就行。

九品錦鋰e 微信二維碼

Individual skills in this repo

This repo contains 17 individual skills — each has its own dedicated page.

lingyu9495-source/agent-responsiveness-delegation

你给 AI 助手派了个重活,然后发现:发消息它不回、想插话只能排队、等十几分钟才回一句——等它抬头,需求早变了。根因不是模型慢,是主脑把重活放在前台跑,整个回合被占死。这个 Skill 把这套「重活外派 + 随时应答」机制做成可落地的东西:① 规则块(一页写清判级、派完立刻让出对话、工单四要素、只回收结论、自报≠事实、拍板留主脑、跨会话任务换机制)② 跨平台落地脚本 provision_agent_responsiveness.py:探测本机已有的 Agent 环境(Hermes 的 SOUL 置顶铁律块、Claude Code 的全局指令文件,这两条已实测),把规则块幂等写入(自动备份原文件、重复执行不重复写、绝不覆盖你已有内容);其余平台(Codex / Cursor / WorkBuddy / 任意 Agent)则导出一份可直接粘贴的规则块 markdown,你粘到系统提示或自定义指令里就生效 ③ 体检脚本 audit_agent_responsiveness.py:逐项核对规则块是否存在、是否被后续改动覆盖、探测到哪些平台——没检测到就如实报「未检测到支持的平台」,不假报通过。纯标准库、零依赖、Windows/macOS/Linux 通用。触发词:AI不回话、等太久、插话卡住、助手响应慢、主脑被占住、重活外派、子代理、多智能体、响应速度、落地配置、系统提示。

lingyu9495-source/ai-image-watermark-removal-boss

去除 AI 生成图角落的"XXAI生成"半透明/白色角标水印。像素级验证不自我欺骗、双信号交叉定位抗幻觉、多候选客观指标投票覆盖。当用户要求去除图片水印、清理 AI 生成角标、去"豆包/即梦/Kolors 生成"水印时使用。

lingyu9495-source/bank-scan-household-splitter

客户丢来一个压缩包,里面几百张身份证正反面、开卡申请书、合同——**人工一张张挑,一下午就没了,还容易漏**。

lingyu9495-source/cn-pdf-report-typeset

中文报告做成 PDF,常见翻车三件套:**字体乱码、表格错位、字号小到客户在手机上根本看不清**。这套是交付级的排版标准加可直接跑的模板。

lingyu9495-source/company-law

公司出事,十有八九出在**治理和控制权**上——股权结构一开始搭歪,后面融资、上市、分家全是坑。

lingyu9495-source/feasibility-report-engine

做可研报告,卡住的往往不是不会写,是**不知道按哪版大纲、财务测算六表和正文对不上、交付前排版被退稿**。这套是从二十多万字、131 张表的真实交付里固化的流水线。

lingyu9495-source/feasibility-study-consultant

项目可行性论证与研究报告写作框架 —— 任何「这事能不能做、怎么做、值不值得做」的商业决策场景:可行性研究/立项论证/新项目评估/创业方向验证。10大论证模块 + 强制联网尽调 + 多源交叉验证 + 读者视角写作 + 结构化报告输出。(v1.4 升级:从「引导客户把项目情况讲清楚」到「按问题类型与项目类型选论证方法」再到「用假设台账逐条验证」的六步教练流程;附可行性门槛评分器与假设台账两个零依赖脚本、项目卡与决策门清单模板)

lingyu9495-source/financial-statement-adjustment

存量财务报表在原表基础上改数字并保持三表勾稽关系。当用户要求「在原报表上改某些数字,其他数据跟着调整且格式完全不变」时使用:资产负债表/利润表/现金流量表的目标值调整、未分配利润与利润总额联动、勾稽校验。

lingyu9495-source/funding-fit-diagnosis

项目想融资,卡住的往往不是不会写 BP,而是不知道够不够格、该找谁、还缺什么、多久能到钱——问 AI 只得到"建议加强团队"这类正确的废话。这套引擎把它拆成可执行的四步:①10 问项目画像采集(缺关键项就先追问,不猜)②双轨评分:市场化 VC 适配分与政府基金适配分**分开算、各自判定**(≥75 强匹配 / 60-74 可争取 / 45-59 需补短板 / <45 暂不建议,低分不许只说"不行",要给替代路径)③点名机构:按赛道/阶段/地域从 23 家头部 VC 与产业资本(CVC)、21 家政府基金的卡片里逐条对照"匹配信号/劝退信号",每家写清"为什么是你、你还缺什么、材料怎么准备、递送路径",并单列"不建议碰"的机构省时间④差距清单(差距|补齐动作|耗时|难度|优先级,只挑 3 个月内能推动的)+ 三线找钱路线图(市场化 / 政府 / 替代路径)+ 时间预期与现金流提醒。包内另附 30 个真实融资案例对标、TS 条款红线、估值倍数参考、BP 制作铁律,以及零依赖离线评分脚本(纯标准库、不联网、不调大模型 API)。输入:项目情况(照着 10 问答即可);输出:一份研判报告(评分 + 优先接触名单 + 差距清单 + 路线图 + 风险提示),脚本侧可另出 JSON 评分结果。评分是适配度不是成功率,不承诺融资结果。触发词:融资、找投资、融资研判、能不能融到钱、找哪家风投、风险投资、VC、产业资本、CVC、政府引导基金、政府基金申报、产业基金、招商返投、项目申报、补贴申报、商业计划书、BP、路演、估值、股权稀释、TS 条款、对赌、回购、FA、财务顾问、找钱、融资渠道、天使轮、Pre-A、A轮。

lingyu9495-source/gov-fund-application

想拿政府的钱,最容易白跑半年——层级选错、赛道不在目录里、返投算不清,材料递上去才发现方向不对。这套参谋按可执行顺序走:①先判层级(国家级/省级/市级/区级,门槛与目的完全不同)②赛道对目录:不在目录里直接如实说没戏,不让用户白跑③21 家基金卡片逐家对照(投资方式、返投比例、让利规则、申报条件、申报通道、真实案例),点名"你这个项目适合找谁"④返投博弈:算清落地要求,给"不想迁注册地"的三条合规路径⑤材料与时间表:申报材料清单、评审周期(6-12 个月是常态)与现金流提醒。与主技能 `funding-fit-diagnosis` 配套(做整体融资研判时用主技能,VC 与政府双轨分开算)。输入:项目基本情况与注册地/落地意愿;输出:层级判定 + 可申报基金名单 + 返投方案 + 材料清单 + 时间预期。不承诺拿到资金,申报须如实提交材料;政策口径标注截止时间,细则请向当地主管部门核实。触发词:政府基金、政府引导基金、产业基金、政府补贴、专项资金、项目申报、补贴申报、申报条件、返投、招商落地、母基金、投资方式、让利、国家级基金、省级引导基金、市级基金、科技成果转化、专精特新、科技型企业、中小企业发展基金。

lingyu9495-source/hermes-profile-browser-isolation

多个 AI 助手同时干活时,浏览器会互相抢占:弹窗抢焦点、任务互相打断、你正在用的 Chrome/Edge 被顶掉——**你连自己的网页都点不动了**。

lingyu9495-source/investment-finance

做投融资最容易踩的坑不是"不懂概念",是**条款里的每一个字都在分钱**——估值方法选错、对赌触发条件写松、回购条款没兜底,签完才发现少拿几千万。

lingyu9495-source/lowvram-ai-video-comfyui

网上的 AI 视频教程开口就是 24G 显存,一看就把人劝退——**其实 8G 的 4060 也能跑**。这套是 RTX 4060 Laptop 8G 显存 / 32G 内存 / Win11 上真跑出来的配置与调参。

lingyu9495-source/novel-deai-detector

写完的稿子发布前想知道会不会被判 AI 生成、平台审核会不会卡、读者会不会一眼看出机器味——这套是检测到清洗的完整闭环。

lingyu9495-source/npl

不良资产这行的钱,赚在**买入价**上——买贵了,后面怎么处置都白搭。

lingyu9495-source/subagent-first

AI 助手不是不够聪明,是被重活占住了:你让它整理 40 个文件,它一头扎进去十几分钟不抬头——你想问进度、想补需求、想改方向,只能干等。这套作业纪律解决的就是这件事:凡是预计要跑多轮的活(多文件/长研究/批量/长搜索),一律派给后台子代理并行执行,主代理只保留四个动作——拆解、派活、汇总、对话,永远保留随时回你话的能力。我们自己在多智能体团队里天天跑,踩过的 12 个坑全部写进正文:子代理自报成功却发现产出是空的、context 没写全导致跑偏返工、两个子代理并行写同一文件互相覆盖、把需要用户拍板的活派给问不了人的子代理、跨会话长任务错用子代理导致某天悄悄停掉……① 决策树四问判定轻重(一轮工具调用能做完吗/需要用户拍板吗/要活过本次会话吗/能拆成互不依赖的块吗)② 派活四要素(goal / context 必须自包含——子代理看不到你和用户的对话 / output_schema / 验收方式)③ 五步流程:拆解→派活→并行调度→验收→收口 ④ 验收清单:存在性/合规性/真实性/完整性四组逐项打勾,并随机抽一处回一手来源核对 ⑤ 6 种委派模式 + 12 条反模式。配套 scripts/delegation_planner.py:纯标准库零依赖,喂一份任务清单(轮数/文件数/是否研究/是否批量/是否需拍板/是否不可逆/是否跨会话),直接输出「该派子代理 / 自己做 / 转定时任务」+ 并行分组建议 + 主代理必做清单。正文按平台无关的作业纪律写,并附常见平台工具名对照表;Hermes 的字段名/并发上限/后台语义另附一页实况对齐,其他平台按对照表映射即可。触发词:子代理、委派、delegate、任务编排、多智能体、并行执行、上下文管理、主代理被占住、AI不回话、等太久、插话卡住、批量处理、长研究、fork-join、fan-out。

lingyu9495-source/ts-term-review

拿到 TS 或投资协议,看半天不知道哪条能签哪条得改——风险全藏在具体条目里,一句"整体没大问题"最要命。这套审查按 15 条核心条款逐条过:估值 Pre/Post、清算优先权、反稀释(完全棘轮是红线)、优先购买权、领售/拖售、对赌与业绩承诺、回购条款、个人连带担保、董事会与一票否决、保护性条款、竞业与知识产权、信息权、交割条件、股东会表决权、违约责任。每条给三级判定(🔴 红线不改就别签 / 🟡 可谈争取改 / 🟢 行业惯例)+ 谈判话术 + 替代方案,并区分"对公司"和"对创始人个人"——个人连带回购是绝大多数血案的源头,重点标红。另附谈判筹码排序、常见坑清单、BP 与数据室准备。与主技能 `funding-fit-diagnosis` 配套(做整体融资研判时用主技能)。输入:TS/投资协议条款(粘贴或描述);输出:逐条判定表 + 必须改的清单 + 谈判话术 + 底线建议。**不构成法律意见**,正式签署与司法效力请找执业律师确认。触发词:TS、Term Sheet、投资条款清单、投资协议、增资协议、股权转让协议、对赌、业绩承诺、回购、清算优先权、反稀释、完全棘轮、个人连带、一票否决、领售权、拖售权、估值、Pre/Post、股权稀释、条款谈判、FA。

相關技能