
角色与项目目标
你是一位全栈资深工程师与数据表格处理专家。请帮我使用 React 18 + TypeScript + Tailwind CSS 构建一个商业级、高颜值的【Excel 公式智能批量保护与商业加密系统 (Excel Formula Protector)】。系统不仅提供纯前端本地安全批量加密,还附带生成完整的 Python 独立 GUI 源码(基于 Tkinter + openpyxl)以及 Windows 一键无黑框绿色 EXE 打包指南。
核心业务背景与解决的痛点
防止客户误改破坏公式:商业交付的 Excel 报价单、财务报表中包含复杂公式(SUM、AVERAGE、IF、VLOOKUP、XLOOKUP 等),客户误按 Backspace 或误填会导致勾稽关系失真; 保护企业核心商业机密:隐藏公式算法代码,客户在 Excel 中点击单元格可以看计算数值,但顶部编辑栏 (fx) 完全空白; 极高效率与格式保全:一键遍历多文件与所有子工作表(Sheet),自动将普通数据格解锁、公式格锁定隐藏,100% 保持原有背景色、边框、字体、对齐、列宽及条件格式不变; 灵活排除规则(白名单放行):支持允许指定子表或指定列/单元格的公式不锁定,供客户自由调整。
核心功能与技术实现细节
1. 纯前端 Excel 批量加密算法引擎
本地沙盒安全:所有 Excel 解析与加密 100% 在浏览器内存完成(使用 exceljs 或 JSZip/XML 解析),绝对不上传到外部服务器。 全表遍历与智能锁定: 遍历工作簿中的每个 Worksheet; 默认将所有单元格设为未锁定 ( locked: false),允许用户自由输入;自动识别所有带有公式( cell.formula或=...)的单元格,将其设置为locked: true且hidden: true(隐藏编辑栏公式代码);对每个 Worksheet 开启保护 sheet.protect(password, options),支持细粒度权限配置(选择已锁定/未锁定单元格、排序、筛选、设置格式等);保留所有的样式(Fill 背景填充、Font 字体字号颜色、Border 边框、Alignment 对齐、NumberFormat 数值格式、Column Widths 列宽)。
2. 细粒度排除规则(白名单放行解析器)
用户可在输入框通过逗号、分号或换行输入规则,解析器需智能匹配以下格式:
指定子表与单元格:如 Sheet2!L8或第二个子表!L8(支持工作表名称匹配或序号匹配,如第 2 个工作表);指定子表与整列:如 Sheet2!L、Sheet2!L:L、第二个子表!L:L;跨所有子表整列:如 L:L或L;区域放行:如 销售明细!B2:D20或B5:C10。即时反馈:输入后实时解析出识别成功的彩色彩签徽章;在处理完成后的「公式透视弹窗」中,命中白名单的公式显示橙色「白名单放行」标签。
3. Python 独立客户端与一键打包
Python 源码生成器:提供完整的基于 tkinter+openpyxl+threading的桌面 GUI 脚本,包含文件选择、文件夹递归扫描、密码输入、排除规则解析、进度条与日志显示。EXE 打包模块:提供 Windows 下使用 pyinstaller -w -F的完整避坑打包指令与一键.bat编译脚本,确保打包出的 EXE 无黑色 CMD 命令行弹窗、单文件绿色便携。
4. 界面设计规范与布局结构 (Dark Executive Slate 风格)
配色基调:沉浸护眼深蓝板岩灰(Body 背景色 #172033,卡片#1e293b/#0f172a,边框slate-700/80),文字高对比清晰,避免刺眼白底与压抑纯黑。两栏响应式布局(下沿精确对齐): 左侧(7 列): 右侧(5 列): 「保护与加密参数配置」(密码设置、文件后缀如 _商业加密版、白名单输入框与示例快捷按钮、交互权限多选勾选);下方紧接「实时执行与安全审计日志」(深色终端风格,与左侧结果列表高度对齐)。 上传工作簿卡片(支持点击多选、文件夹上传、拖拽、一键「✨ 获取测试样本」); 下方紧接「处理结果列表」(展示已处理文件、工作表数、锁定公式数、放行公式数、单文件下载、打包 ZIP 全部下载、以及「🔍 公式明细」透视弹窗)。 右上角与右下角「使用帮助」: 包含浮动按钮与顶部导航按钮; 点击弹出 Markdown 渲染的《使用说明手册》,系统介绍上传操作、密码机制、白名单详细语法对照表及常见 FAQ,并支持常用规则一键复制。 顶部 Tab 切换: 🌐 批量保护引擎 (Web) 🐍 Python 独立源码 📦 EXE 独立打包指南
技术栈与依赖
React 18, TypeScript, Tailwind CSS, Lucide React (图标), react-markdown, JSZip, File-Saver, ExcelJS / 现代表格操作库。 代码模块化拆分: src/components/OnlineProcessor.tsx,Header.tsx,HelpModal.tsx,FormulaInspectorModal.tsx,SampleGeneratorModal.tsx,PythonSourceView.tsx,PackagingGuide.tsx,src/utils/excelEngine.ts,src/utils/ruleParser.ts。
请直接生成完整的、可运行的工程代码及界面!
夜雨聆风