Skip to content

About

面向 Excel/CSV 的本地数据研判桌面工具(Windows 7–11,完全离线),支持多表碰撞、多表合并、智能提取、模糊去重、差异对比、跨表检索和取最新行。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

数据研判工具箱

面向 Excel/CSV 的本地数据研判桌面工具(Windows 7–11)。项目提供多表碰撞、多表合并、智能提取、模糊去重、差异对比、跨表检索和取最新行等常用数据处理工具,所有计算在本机完成、完全离线,适合快速完成线索核查、表格比对和结果导出。

下载

前往 Releases 下载最新版本(Windows 7–11,x64):

文件 说明
data-analysis-workbench-Setup-<版本>-x64.exe 安装版,可选安装目录,创建桌面快捷方式
data-analysis-workbench-portable-<版本>-x64.exe 便携版,免安装,双击即用

安装包未做代码签名,首次运行若出现 SmartScreen 提示,点击「更多信息 → 仍要运行」。

功能

工具 用途 导出
多表碰撞 多张表按字段碰撞,支持补全基准表或只取交集 单 sheet 结果
多表合并 以基准表字段为准,合并多张参与表的所有 sheet 单 sheet 结果
智能提取 从文本列按模板或自定义正则提取手机号、身份证号、银行卡、邮箱、财付通、支付宝等结构化字段 单 sheet 结果
模糊去重 按编辑距离或二元组相似度发现重复行,支持完全一致字段约束 推荐结果 / 全量标记
差异对比 对比旧表和新表,识别新增、删除、修改和一致 单 sheet 结果
跨表检索 多表、多工作表全字段搜索,支持精确、包含、模糊匹配 每个命中工作表一个 sheet
取最新行 按基准字段分组,并按时间字段保留最新一条 单 sheet 结果

多表碰撞

  • 默认 2 张表(基准表、参与表 A),可继续追加参与表。
  • 模式:补全基准表(保留基准表全部记录)/ 只取交集(仅保留所有表都命中的记录)。
  • 每张表选择碰撞字段,支持 区分大小写 开关。
  • 结果列带表名前缀(如 基准表.姓名、参与表 A.姓名),便于区分同名字段。
  • 导出时去掉表名前缀,按二维数组写入,避免同名字段被对象 key 覆盖。
  • 结果按整行去重。
  • 碰撞字段重复过多时,单次最多生成 200,000 行并提示预计行数。

多表合并

  • 1 张 基准表 + 多张 参与表,参与表支持单个导入或批量添加。
  • 字段映射先按字段名自动匹配,未匹配字段可手动映射到基准字段。
  • 合并范围覆盖参与表的所有 sheet。
  • 输出列为基准表字段 + 来源表名。
  • 支持 整行去重(默认开启),并显示去重移除数量。

智能提取

  • 单表导入,支持多选源列,各列独立匹配,不拼接。
  • 模板多选:手机号、身份证号、银行卡号、邮箱、财付通、支付宝、自定义正则。
  • 校验规则:
    • 身份证号校验日期合法性和校验位。
    • 银行卡号排除合法身份证和支付宝号,并做 Luhn 校验。
    • 财付通邮箱不被邮箱模板重复命中。
  • 同一行同一模板命中多个值时,输出字段自动扩展为 手机号1、手机号2 等。
  • 自定义正则支持命名分组,输出列取第一个分组名。

模糊去重

  • 单表导入,选择 匹配字段,可额外选择 完全一致字段。
  • 完全一致字段 内容必须完全相同,才允许归到同一重复组。
  • 相似度算法:编辑距离 / 二元组。
  • 分块粒度:首字分块 / 首2字分块 / 不分块(能发现首字不同的重复,数据多时较慢)。
  • 相似度阈值 50%–95% 可调。
  • 支持 区分大小写 开关。
  • 双导出:
    • 导出推荐:只保留推荐保留行和独立行。
    • 导出全量(含标记):保留全部行及重复组标记。

差异对比

  • 固定 旧表 和 新表。
  • 模式:
    • 按内容比对:先匹配完全一致行,再将剩余高度相似行配为修改。
    • 按字段对齐:选择旧表/新表各 1 个或多个对齐字段;重复 key 按出现顺序配对。
  • 支持 区分大小写 开关。
  • 修改行的 变更字段 格式:字段名: 旧值 → 新值,多个字段用 ; 分隔。
  • 修改行展示新表数据,删除行展示旧表数据,新增行展示新表数据。

跨表检索

  • 多表导入,每张表可多选工作表(默认全选)。
  • 检索方式:精确 / 包含 / 模糊。
  • 支持 区分大小写 开关。
  • 检索范围为选中工作表的全字段,无需用户选择字段。
  • 结果按命中的 sheet 分块展示,每块保持该 sheet 原始列结构,只展示命中行。
  • 仅高亮命中的要素本身,不整行高亮。
  • 导出为 .xlsx,每个命中 sheet 一个 sheet;同名 sheet 自动加后缀避免冲突。

取最新行

  • 单表导入,选择 基准字段 和 时间字段。
  • 每个基准字段只保留时间最新的一条记录。
  • 空基准字段忽略,并在结果指标中展示忽略数量。
  • 时间解析支持 Excel 序列日期、2024-01-02、2024/1/2、2024年1月2日 10时5分、20240102 等格式;无法解析的行按最旧处理并在指标中提示数量。

特性

  • 支持 .xlsx、.csv;CSV 自动识别 UTF-8 / GBK 编码和逗号、制表符、分号分隔。
  • 自动识别表头行(跳过标题行、制表信息行),也可在表卡片上手动指定 表头第 N 行。
  • 所有计算在 Web Worker 中完成,大表计算时界面不卡顿,可随时取消。
  • 完全离线:桌面端拦截一切网络请求,数据不会离开本机。
  • 统一导出 .xlsx:数字写成数字、日期写成 Excel 日期,手机号 / 身份证 / 银行卡等长数字保留文本。
  • 使用二维数组导出,避免同名字段在 Excel 导出时被对象 key 覆盖。
  • 多表工具支持横向表卡片布局和追加表;多个模块支持 区分大小写 开关。

快速开始

npm install
npm run dev            # 浏览器调试:http://localhost:3000
npm run electron:dev   # 另开终端,用 Electron 窗口调试

检查:

npm run typecheck
npm test

打包桌面端

npm run electron:start   # 静态导出后直接用 Electron 打开
npm run dist:electron    # 生成 NSIS 安装包和便携版到 dist/electron/
  • 基于 Electron 22.3.27(最后一个支持 Win7 的版本),默认打 x64。
  • 静态导出产物 out/ 通过 app://bundle/ 自定义协议加载。
  • 更多打包和排障说明见 AGENTS.md。

目录结构

app/
  page.tsx                 页面壳、导航、模块挂载
  config/tools.ts          工具注册
  types.ts                 共享类型
  lib/                     各工具业务计算、workbook 工具和单测
  components/              通用 UI 组件
  modules/                 各工具模块 UI
  hooks/                   计算 Worker 接入、表槽位等通用 hook
  workers/                 计算 Worker 入口
public/
  icon.svg                 应用图标和 favicon
electron/
  main.cjs                 Electron 主进程
  build-icon.cjs           从 icon.svg 生成 build/icon.ico
electron-builder.yml       桌面端打包配置

开发约定

  • 新增工具时,在 app/config/tools.ts 注册,在 app/lib/<module>.ts 放业务计算并补单测,在 app/lib/compute.ts 登记计算任务,在 app/modules/<module> 放模块 UI 和 use<Module>Workbench.ts。
  • app/page.tsx 只做 hook 接入和模块挂载,不放模块状态、复杂算法和大块 UI。
  • UI 保持工具型、低噪音、信息密度适中。
  • 改功能后运行 npm run typecheck 和 npm test。
  • 更多维护约定见 AGENTS.md。

技术栈

  • Next.js App Router(静态导出)
  • Electron 22
  • TypeScript
  • Tailwind CSS
  • exceljs
  • lucide-react
  • Vitest

License

This project is licensed under the GNU Affero General Public License v3.0. See LICENSE for details.

About

面向 Excel/CSV 的本地数据研判桌面工具(Windows 7–11,完全离线),支持多表碰撞、多表合并、智能提取、模糊去重、差异对比、跨表检索和取最新行。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages