Skip to content

HiTable v0.2.0 — 统计分析增强版

Latest

Choose a tag to compare

@wxy wxy released this 10 Jul 10:13

概述

HiTable 0.2.0 是一个重大功能更新,新增演示页面、非标准表格检测、数据完整性检测、条件格式化(异常值检测)、内建帮助页面、数字格式识别增强等 7 大功能模块。同时修复了多项 bugs,完善了 9 种语言的国际化支持。


🆕 新功能

1. 演示页面

内置 7 张示例表格,安装后即可立即体验所有功能。包括股票数据、合并单元格、嵌套表格、财务明细、数据完整性测试、CSS Grid(Div 构建)、ARIA Grid 等类型。右键菜单「演示」或配置页链接打开。演示页支持 9 种语言自动匹配。

2. 非标准表格检测

现在除了标准 <table> 标签外,还能识别:

  • ARIA 语义表格role="grid" / role="table" 直接检测
  • Div 表格:CSS Grid / Flexbox 布局,通过 13 种 CSS 类名模式(.table.grid.MuiTable-root.ant-table 等)和几何坐标聚类检测
  • 自动展开 display: contents 元素和嵌套行结构
  • 内置域名排除列表(GitHub、GitLab 等 9 个站点),避免代码仓库页面误匹配

3. 列类型标注

自动识别并标注每列的数值子类型(整数/小数/货币/百分比),显示在浮层边缘 tooltip 中。

4. 数据完整性检测

六项纯本地统计检测,帮助发现潜在人工编造数据:

检测 说明
本福特定律 (Benford's Law) 首位数字分布是否偏离自然规律
末位数字分析 (Last Digit) 末位数字分布不均匀(人的随机感缺陷)
取整偏好 (Rounding) 过多以 0 或 5 结尾(手工填写特征)
重复值检测 (Duplicate) 单一数值高频出现(疑似复制粘贴)
比例异常 (Ratio) 两列间比例近乎恒定(可能为公式生成)
单调序列 (Monotonic) 排序后过于线性(可能为自动填充)

检测结果以 ⚠ 指示器显示在浮层下方(圆角黑底),hover 查看详细列表。问题单元格有彩色虚线/点线边框标记。支持逐列和逐行检测。

5. 条件格式化(异常值检测)

  • 三重范围检测:整个选区 / 列内 / 行内
  • 2σ 阈值,异常值以主题色 2.5s 慢脉冲闪烁高亮
  • 悬停显示异常原因(全局/列/行)和具体偏离值(已国际化)
  • 异常值在浮层数据区同样可见(四边统计区不显示)
  • 配置页面可开关

6. 数字格式识别增强

  • 数量级后缀:K(千)、W/(万)、M(百万)、亿万亿B(十亿)
  • 全角数字归一化:123 → 123
  • 统计结果自动继承列/行一致的货币前缀($£¥ 等)和数量级后缀
  • CNT/VAR/SKW/KUR 算法排除格式继承(计数、方差、偏度、峰度不适用)
  • 统计结果精度不超过原数据精度

7. 内建帮助页面

替代 GitHub README 外链。覆盖 8 个主题(基本用法、表格类型、统计算法、异常检测、数据完整性、数字格式、配置、快捷键),9 种语言完整翻译。右键菜单「帮助」打开,自动匹配浏览器语言。


📖 文档

  • README 合并为单一双语文件(上半部英文,下半部简体中文)
  • Chrome 商店描述 新增 9 种语言完整版(docs/store-descriptions/

🧪 测试

  • 新增 pages/test.html 自动化测试页(开发者用),页面加载即自动执行 29 个测试用例
  • 覆盖统计算法、数字解析、数据完整性检测
  • TestRunner.runAll() 可在任意页面 console 中手动调用

🐛 修复

  • 扩展在自身页面(Demo/Help/Test)可正常激活
  • 非标准表格(Div/ARIA)的选择高亮和浮层尺寸精确匹配
  • 末位数字检测改用文本方式提取(避免数值运算丢失末尾 0)
  • countFlags 递归进入数组,列/行级完整性标记正确计数显示
  • colSpan 正确设置到 DOM 元素(而非 JS 对象)
  • 选中区域空格子增加 null 守卫,避免崩溃
  • 移除 stopImmediatePropagation,保留宿主页面事件处理
  • deselectAllCells() 清理条件格式化和完整性标记
  • parseFloat padding 增加 || 0 兜底

🌐 国际化

  • 新增约 45 个 i18n key,全部 9 种语言覆盖
  • 帮助页 70+ key 完整翻译
  • 演示页 i18n 自动加载(page-i18n.js
  • 帮助菜单本地化:帮助/幫助/說明/Hilfe/Справка/ヘルプ/도움말/सहायता
  • Demo 菜单本地化:演示/示範/Demo

📦 其他

  • jsconfig.json 升级到 TS 6.0 配置
  • package-info.md 权限说明保持不变
  • 版本号 0.1.6 → 0.2.0