wechatpay
Introduction: 微信账单分析工具 - 基于 Electron 的可视化账单分析应用
Tags:
基于 Electron 框架开发的微信支付账单可视化分析应用,帮助您更好地了解个人消费习惯和财务状况。
📋 功能特性
1. 数据概览
- 收支统计:快速查看总收入、总支出、净收支等关键指标
- 交易汇总:展示交易总笔数、时间范围等基本信息
- 可视化图表:直观的收支对比柱状图
- 账单元数据:显示微信昵称、导出时间等账单信息
2. 统计分析
- 支付方式分布:分析不同支付方式(零钱、银行卡等)的使用情况
- 交易类型分布:统计商户消费、转账、红包等各类交易占比
- 交易状态统计:查看支付成功、已退款等各种状态的交易详情
- 多维度图表:饼图、环形图等多种可视化方式
3. 分类汇总
- 按商户汇总:查看在各个商户的消费金额和次数排名
- 按交易类型汇总:分析不同交易类型的资金流向
- 按支付方式汇总:了解各支付方式的使用频率
- 灵活排序:支持按金额或次数排序,可选择显示前 N 名或全部数据
4. 趋势分析
- 时间维度分析:支持按日、按周、按月查看消费趋势
- 收支曲线图:折线图展示收入和支出的变化趋势
- 统计指标:计算日均支出、最高/最低单日支出等关键指标
- 趋势对比:可单独查看收入或支出趋势,也可同时对比
5. 明细查询
- 关键词搜索:支持按商户名称、商品名称搜索交易记录
- 多条件筛选:可按收支类型、交易状态等条件过滤数据
- 实时统计:显示筛选结果的记录数和总金额
- 详细信息:查看每笔交易的完整信息
6. 报告导出
- Excel 格式导出:将分析结果导出为 Excel 文件
- 多工作表:包含汇总统计、分类统计、每日统计、明细数据等多个工作表
- 便于保存:方便长期保存和进一步分析
📖 如何获取微信账单数据
导出步骤
打开微信账单页面
- 打开微信 APP
- 依次进入:
我→服务→钱包→账单
选择下载账单
- 点击右上角
...或常见问题 - 选择
下载账单
- 点击右上角
设置账单参数
- 账单用途:选择
用于个人对账(重要!)- ✅ 选择"用于个人对账"会生成 Excel 或 CSV 格式文件
- ❌ 选择"用做证明材料"会生成带公章的 PDF,本工具无法解析
- 时间范围:选择需要导出的时间段(最长可导出 1 年内的数据)
- 接收邮箱:填写用于接收账单文件的邮箱地址
- 账单用途:选择
身份验证
- 输入微信支付密码进行身份验证
接收账单文件
- 系统会在 24 小时内 将加密压缩包发送至您的邮箱
- 解压密码会通过微信
服务通知发送 - 下载压缩包并使用密码解压,得到 Excel 文件
数据格式说明
导出的 Excel 文件包含以下字段:
- 交易时间:交易发生的具体时间
- 交易类型:如商户消费、转账、红包等
- 交易对方:商户名称或转账对象
- 商品:购买的商品或服务描述
- 收/支:标识该笔交易是收入还是支出
- 金额(元):交易金额
- 支付方式:零钱、银行卡等
- 当前状态:支付成功、已退款等
- 交易单号:微信交易流水号
- 商户单号:商户系统订单号
- 备注:其他备注信息
注意事项
⚠️ 重要提示:
- 必须选择"用于个人对账"选项,生成 Excel 格式文件
- PDF 格式的账单无法被本工具解析
- 文件前 16 行左右是表头和说明信息,本工具会自动识别并跳过
- 建议定期导出账单进行备份和分析
- 账单数据仅用于个人分析,请妥善保管
🚀 快速开始
安装依赖
npm install
运行应用
npm start
打包应用
# Windows 平台
npm run build:win
# macOS 平台
npm run build:mac
# Linux 平台
npm run build:linux
# 所有平台
npm run build
💻 使用方法
启动应用
- 运行应用后会看到欢迎界面
导入账单文件
- 点击左侧
选择账单文件按钮 - 选择从微信导出的 Excel 账单文件
- 系统会自动解析并显示解析结果
- 点击左侧
查看分析结果
- 使用左侧导航菜单切换不同的分析视图
- 在各个视图中查看详细的分析数据和图表
导出分析报告
- 点击左侧
导出报告按钮 - 选择保存位置和文件名
- 生成包含完整分析结果的 Excel 报告
- 点击左侧
🛠️ 技术栈
- 框架:Electron 28.0
- 数据解析:xlsx (SheetJS)
- 图表库:Chart.js 4.4
- 界面:原生 HTML/CSS/JavaScript
- 打包工具:electron-builder
📊 项目结构
wechatPay/
├── main.js # Electron 主进程
├── index.html # 应用主界面
├── styles.css # 样式文件
├── renderer.js # 渲染进程逻辑
├── package.json # 项目配置
├── README.md # 使用文档
└── 微信支付账单流水文件.xlsx # 示例账单文件
📝 代码说明
主进程 (main.js)
- 创建应用窗口
- 处理文件选择对话框
- 解析 Excel 账单文件
- 提取账单元数据
- 导出分析报告
渲染进程 (renderer.js)
- 界面交互逻辑
- 数据分析算法
- 图表渲染
- 视图切换
- 数据筛选和搜索
核心功能模块
1. 数据解析模块
// 解析微信账单 Excel 文件
ipcMain.handle('parse-bill-file', async (event, filePath) => {
// 读取 Excel 文件
// 识别表头位置
// 提取账单数据
// 解析元数据
// 返回结构化数据
});
2. 数据分析模块
// 概览分析
function analyzeOverview(data) {
// 计算总收入、总支出
// 统计交易笔数
// 确定时间范围
}
// 维度分析
function analyzeByDimension(data, dimension) {
// 按指定维度分组
// 统计金额和次数
// 区分收入和支出
}
// 趋势分析
function analyzeTrend(data, granularity) {
// 按时间粒度分组
// 计算每个时间段的收支
// 生成趋势数据
}
3. 可视化模块
// 使用 Chart.js 渲染各类图表
- 柱状图:收支对比
- 饼图/环形图:分类占比
- 折线图:趋势变化
🔒 隐私安全
- 本应用完全在本地运行,不会上传任何数据到服务器
- 所有账单数据仅在您的计算机上处理和存储
- 不收集、不传输任何个人信息
- 建议妥善保管账单文件,避免泄露个人财务信息
⚙️ 系统要求
- 操作系统:Windows 10/11, macOS 10.13+, Linux
- 内存:建议 4GB 以上
- 磁盘空间:100MB 以上
- Node.js:14.0 或更高版本(仅开发环境需要)
🐛 常见问题
Q: 为什么无法解析我的账单文件?
A: 请确保:
- 选择的是"用于个人对账"选项导出的 Excel 文件
- 文件格式为 .xlsx 或 .xls
- 文件没有被损坏或加密
Q: 图表显示不正常怎么办?
A: 请检查:
- 账单数据是否完整
- 时间范围是否正确
- 尝试重新导入文件
Q: 可以分析多个账单文件吗?
A: 当前版本每次只能分析一个文件,如需分析多个时间段的数据,建议先在 Excel 中合并后再导入。
Q: 导出的报告在哪里?
A: 导出时会弹出保存对话框,您可以选择保存位置。
📄 许可证
MIT License
👨💻 开发者
本项目为开源项目,欢迎贡献代码和提出建议。
🙏 致谢
- Electron 团队
- SheetJS (xlsx) 开发者
- Chart.js 团队
- 所有开源贡献者
