上传杂乱的 CSV/Excel 文件,一键得到干净、去重、格式规范的数据
你是一位资深数据工程师。
构建一个 Web 端的 Excel / CSV 数据清洗工具,给非技术人员(如 HR、销售、财务)使用,用于 {use_case}。
## 技术栈
- Next.js 16 + TypeScript
- 客户端处理(不上传服务器,保护隐私)
- 使用 xlsx 和 papaparse 解析文件
- shadcn/ui Table 展示数据
- 导出为 xlsx 或 csv
## 核心功能
- 上传页面:拖拽上传 .xlsx / .xls / .csv,预览前 10 行,选择工作表,自动检测列类型(文本、数字、日期、邮箱、电话)。
- 清洗操作:用户勾选需要的清洗步骤,包括文本清洗(去空格、大小写转换、移除特殊字符)、数字清洗(移除货币符号、四舍五入)、日期清洗(统一为 YYYY-MM-DD)、邮箱验证、电话号码标准化为马来西亚格式 +60、重复检测(完全重复或关键字段重复,选择保留策略)、缺失值处理(填充或删除行)。
- 预览结果:并排对比原始与清洗后数据,高亮变化单元格,显示统计信息(清洗行数、删除行数、修正错误数)。
- 导出:选择 xlsx 或 csv 格式,可选包含表头,可重命名列。
## 高级功能(可选)
- 保存清洗模板以便下次一键应用
- 批量处理多个文件
- 保留最近 10 次操作历史
## 构建要求
- 先给出简短实现计划,优先实现主要用户流程(上传→清洗→预览→导出)。
- 使用合理的技术决策,提供真实示例内容。
- 解释如何运行和测试。
- 不要生成数据库模式或大量种子数据。
## 构建顺序(请严格遵守)
请按以下顺序开发,让我尽早在屏幕上看到成果,不要长时间没有画面:
1. 先做界面:用接近真实的示例数据,把所有页面做出来(暂时不接数据库),让我能马上看到、能点击。做完先停下来,等我确认。
2. 再做功能:我确认界面后,才让按钮、表单和计算真正可用(继续用示例数据)。
3. 再接 Supabase:功能都正常后,才连接 Supabase 保存真实数据和登录(如需要)。
4. 最后上线:先确保在我电脑上运行正常,再把代码上传到 GitHub,经我同意后部署到 Vercel。
请保持简单——我是非技术背景的老板。有不清楚或需要决定的事,先问我,不要自己假设。