Agent Skills
返回列表
Excel公式引擎

Excel公式引擎

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f1b049da/pdx20267114。

技能介绍

要解决的问题

前端表格场景里,报价单、分成表这类计算往往只有两种糟糕的选择:把整张表提交到后端,等待接口返回;或者让用户自己打开桌面 Excel 算完再贴回来。前者引入了一次网络往返和后端的计算压力,后者割裂了编辑体验,公式逻辑还散落在用户的本地文件里。当你只想让用户在网页上修改几个单元格、立刻看到 =A1*B1 的结果时,这两种方案都显得非常别扭。

这个技能的做法是把 Excel 风格的公式求值直接搬进浏览器,基于 hyperformula 在本地完成计算。

核心能力与关键步骤

核心能力

  • 本地求值:单元格公式在前端执行,数量乘单价、SUM 合计、折扣、=A1*0.2 这类分成规则都可以直接写在公式串里,不依赖桌面 Excel,也不把整表丢给后端。
  • 贴近 Excel 习惯:公式写法与用户在 Excel 里的直觉一致,迁移成本接近于零。
  • 可读的错误反馈:坏公式不裸抛异常,而是把 #DIV/0! 翻译成「除零」这类中文提示,直接展示在单元格上。
  • 聚焦公式,展示可分离:金额的格式化交给 currency.js Skill,本包只负责公式求值,职责边界清晰。

实现要点(小四原创)

  1. 安装 hyperformula,封装一层 evalQuoteSheet,把表格数据和公式配置喂给它,拿回计算结果。
  2. 自测覆盖三类场景:=SUM 求和、乘积、百分比;同时验证坏公式会触发中文友好错误而不是抛出堆栈。
  3. UI 交互上,用户编辑完单元格即时重算;组件卸载时记得销毁 hyperformula 实例,避免内存泄漏。

适用边界与注意点

  • 公式来源必须可信。公式字符串应当来自可信配置或校验后的模板,不能直接接受用户自由输入;至少做长度和字符集约束,防止注入风险。
  • 它不是 Excel 模拟器。复杂图表、VBA、跨表引用等桌面 Excel 能力不在范围内,本包只做公式求值。
  • 实例是有状态的。在长生命周期的页面里,实例销毁与重建时机要纳入设计,别让公式引擎的实例泄漏在组件树之外。
  • 展示层另行处理。本包输出的是数值,货币符号、千分位、精度这些交给 currency.js Skill,别在本包里硬堆格式化逻辑。

使用场景

  • 开发报价系统时,用户在浏览器填写数量和单价后,需在前端即时计算合计与折扣,避免把整张表提交后端。
  • 做分成试算页面时,用户修改比例后要立即看到按 Excel 公式习惯(如 =A1*0.2)算出的金额变化。
  • 构建表单校验模块时,需要把用户输入的公式错误(如 #DIV/0!)翻译成中文友好提示并显示在单元格上。

适合人员

  • 独立开发者,正在做一个纯前端报价单应用,希望不依赖后端就能完成表格公式计算。
  • 前端工程师,负责在线分成计算器,需要把本地 Excel 公式逻辑无缝迁移到网页中。
  • 全栈开发者,想要在浏览器端拦截公式错误并给出中文提示,减少向后端请求校验的开销。