跳到正文
西楚极客XichuGeek
首页项目文章关于
GitHub ↗YouTube ↗
菜单
首页项目文章关于
GitHub ↗YouTube ↗
  1. 首页
  2. 人工智能
  3. 正文

用Claude把Excel报价流程做成网页工具|金额、折扣、税额、草稿、PDF全实测

2026年10月22日 92点热度 0人点赞 0条评论

给客户报价,很多人还在复制一份 Excel,改数量、改单价,再担心公式被自己改坏。Episode 009 用 Claude 从零做了一个轻量网页报价工具 XichuQuoteLite:录入报价行,自动计算金额、折扣、税额和合计,草稿保存在浏览器里,还能打印成 PDF。整个过程从缩小需求开始,到测试、构建和浏览器实际操作结束。

Episode 009 · 约8分钟。在 YouTube 观看完整视频 ↗

本期资料:GitHub 源码与运行说明 ↗ · 在线 Demo ↗ · 视频中的示例表格(虚构数据)↗

画面说明:视频画面录制于 Claude 的隔离 Linux 工作区,浏览器、终端和表格中的操作由 Claude 自动执行;示例表格用 LibreOffice 打开,演示数据均为虚构。

它是什么,不是什么

XichuQuoteLite 是一个打开浏览器就能用的小工具:填写报价抬头和报价行,自动合计,再打印一张给客户看的报价单。它不需要登录,也没有后端。

它不是财务或税务系统,不处理付款,也不导入 Excel。页面里的税率只是示例计算规则,不构成任何地区的税务建议。你可以把它当作一个起点,改成维修报价、设计报价,或者你自己行业的服务清单。

第一步:先减需求

做 AI 项目,我会先把需求缩小。登录、数据库、多人协作,第一版全部不要,只解决一件事:让一个人快速做出一份准确的报价。需求越清楚,后面让 AI 反复返工的次数就越少。

给 Claude 的第一条指令也不是“帮我做个好看的报价网站”,而是写清楚要有哪些字段、金额怎么算、数据存在哪里、哪些功能这次不做,并要求它先交回需求表、计算规则、边界测试和计划,确认以后才开始改文件。

Claude 交回的需求清单里,每一条都写了验收方法。我重点核对了三条规则:数量和单价都能修改;先打折,再按折后金额计算税额;草稿只保存在浏览器里。

第二步:拆模块写代码

计划确认后,项目拆成四块,分别放在不同文件里:

  • src/money.ts:金额计算,使用 decimal.js 做十进制运算。
  • src/App.tsx:报价界面、输入校验和汇总显示。
  • src/storage.ts:用浏览器 localStorage 保存和恢复草稿。
  • src/styles.css:页面、手机卡片布局和打印样式。

哪一块出问题就只改哪一块,不需要让 AI 把整个项目推倒重来。

金额精度:为什么不用普通小数

在浏览器控制台里计算 0.1 + 0.2,结果是 0.30000000000000004,这是二进制浮点数的正常现象。报价金额不能这样算,所以项目约定用十进制计算,每一步保留两位小数、四舍五入。代码可以交给 AI 写,但“怎样才算算对”必须由我们自己先定好。

用一组固定数字验收

下面这组数字,你可以用计算器自己核对:

项目 计算 结果
报价行 1 3 × 128.50 385.50
报价行 2 2 × 399.00 798.00
报价行 3 5 × 24.90 124.50
小计 三行相加 1308.00
折扣 5% 1308.00 × 5% −65.40
折后税基 1308.00 − 65.40 1242.60
示例税率 13% 1242.60 × 13% = 161.538 161.54
合计 1242.60 + 161.54 1404.14

浏览器里逐个字段键入这组样例,页面显示的合计也是 1404.14。

边界情况、本地草稿和打印 PDF

能用的工具,不能只在示例数据刚好正确时才正常。删掉一行,小计和合计马上跟着变;数量填负数、单价留空、填非数字、数量为 0、项目名超过 80 个字、折扣率或税率超过 100%,都会给出提示,出错的行暂不计入合计。

每次修改会自动保存到当前浏览器,刷新后内容还在。限制也要说清楚:草稿不会云同步,也不加密,换一台设备看不到,清除浏览器数据后会丢失,所以它不能当作备份。

点击“打印 / 保存 PDF”会打开浏览器的打印窗口,目标打印机选择“另存为 PDF”,再点保存。生成的 A4 报价单中文正常、金额没有被截断,只有一页。

把窗口缩到手机宽度,报价行会变成一张张卡片,没有横向滚动,很长的项目名也会自动换行。

测试、构建,以及开发中真实修掉的问题

单元测试 21 项全部通过,浏览器端到端测试 7 项通过、1 项跳过(PDF 只在桌面视口生成),类型检查和构建通过;从一份全新克隆的代码开始,按 README 安装、测试、构建也能一次跑通。测试通过只说明这些检查过了,真正能不能用,还要回到浏览器里亲手操作一遍。

开发和录制过程中,实际发现并修复了 6 个问题:

  • 手机宽度下,很长的项目名只显示一行,文字被裁切在输入框里;改为输入框随内容自动增高。
  • 打印出的 PDF 里日期旁还有日历图标,金额列贴着边;打印样式隐藏图标并补上右侧留白。
  • 折扣率为 0 时,折扣金额显示成“−0.00”;改为显示 0.00。
  • 备注框被拉到汇总区底部,留下一大块空白;调整了对齐方式。
  • 单元测试命令把浏览器端到端测试文件也当成单元测试执行而报错;单独限定了单元测试范围。
  • 没填日期时,打印出来是“年/月/日”占位字;打印时改为显示纯文本,空值显示短横线。

源码、在线 Demo 与运行方法

  • GitHub 源码:xichugeek/XichuQuoteLite ↗(MIT 许可证)。本期对应的固定版本是 1.0.0 · e85f1a8 ↗。
  • 在线 Demo ↗:纯前端页面,数据只保存在你自己的浏览器里,请不要填写真实客户资料。
  • 示例报价表(虚构数据)↗:可以拿来和网页计算结果对照。

在自己电脑上运行,需要 Node.js 22.12 或更高版本:

git clone https://github.com/xichugeek/XichuQuoteLite.git
cd XichuQuoteLite
npm install
npm run dev      # 打开 http://localhost:5173
npm test         # 单元测试
npm run build    # 构建 dist/
npm run preview  # 打开 http://localhost:4173 预览构建结果

更完整的说明,包括浏览器端到端测试和另存 PDF 的步骤,见仓库里的 README。

方法比工具更值得带走

你完全可以照这套方法做自己的工具:先把需求缩到最小,把计算规则写成能核对的数字,再让 AI 分步完成,每完成一步就实际操作、实际验证。报价工具只是例子,真正值得带走的是这套做法。

你手上有哪张 Excel 表,最想做成网页工具?欢迎到本期视频评论区告诉我。

标签: AI编程 Claude Excel React 报价单
最后更新:2026年10月22日

西楚极客

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >
最新 热点 随机
最新 热点 随机
用AI自动做解说视频|克隆自己的声音配音,字幕一键进剪映 让Claude帮你搭一支AI员工团队|Telegram群里派活 让Muse帮你申请免费云电脑和GPU|两条指令,四平台实测 免费AI配音!本地克隆自己的声音,做视频不用再录音|Qwen3 TTS Docker 拉取镜像失败怎么办|Ubuntu 排障与离线启动 Ubuntu 26.04 安装 Docker 和 Docker Compose|官方源教程,附完整命令
免费AI配音!本地克隆自己的声音,做视频不用再录音|Qwen3 TTSCodex改坏了代码怎么办?3 种情况,怎么找回原来的版本|新手必会Codex 的 AGENTS.md 怎么写?项目规矩不用每次重说|附五段模板Ubuntu 26.04 安装 Docker 和 Docker Compose|官方源教程,附完整命令Docker 拉取镜像失败怎么办|Ubuntu 排障与离线启动让Claude帮你搭一支AI员工团队|Telegram群里派活
Windows11如何搭建汇编环境|DosBox|8086汇编语言 Windows如何安装WAMP|5分钟学会安装WAMP服务器!搭建本地PHP开发环境超简单【新手教程】 让Claude帮你搭一支AI员工团队|Telegram群里派活 Linux科学上网|Ubuntu科学上网安装教程|轻松搭建快速上网 Ubuntu系统安装PostgreSQL Codex额度怎么算?5小时和每周限额、剩余在哪看、用完怎么办?
最近评论
标签聚合
开源工具 ubuntu Codex TTS Windows AI编程 Linux docker
西楚极客XichuGeek

用 AI 把真正能运行的项目做出来。

ProjectsArticlesAboutContactGitHub ↗YouTube ↗
© 2026 XichuGeek · 西楚极客Build. Share. Keep learning.