3.6 KiB
3.6 KiB
Changelog
[v1.5.0] - 2026-06-06
✨ 功能新增
- F009 MAP→List 使用 balllist 模板:
run_map_to_list()改查BallList-Template.xlsx,不再共用旧模板 - F010 List→MAP 使用 ballmap 模板:
run_list_to_map()改查BallMAP-Template.xlsx,模板完全分离 - F011 模板格式提取式应用:从模板的 cellXfs/fonts/borders/fills 提取实际样式定义,替换硬编码边框和对齐;无模板时完全回退到默认样式
- F012 验证+回归测试:新增
test_f012_pinname_position()验证下边 Name 在 max_row-1、上边 Name 在 min_row+1,添加 5×5 往返一致性测试
🗑️ 废弃
_find_template_path()(PinMAP-Template.xlsx) — 不再自动查找,由_find_balllist_template_path()和_find_ballmap_template_path()替代
📝 文档
- 更新
docs/tasks.mdT015 状态为已完成 - 更新
docs/features.mdF009-F012 状态
🔧 修改文件
Code/src/main.py— 新增两个模板查找函数,修改两个方向的模板调用Code/src/xlsx_writer.py— 重写_styles_xml()支持模板样式提取Code/src/template_reader.py— 增强 cellXfs 提取(xfId、applyAlignment、wrapText)Code/src/test_pinmap.py— 新增 F012 回归测试
[v1.3.15] - 2026-06-01
🐛 Bug 修复
- pinmap_layout.py: 周长公式从
2(rows+cols)−4改为(rows+cols)×2— 修复角点共享策略,每条边独立包含其端点 - pinmap_generator.py: 角点单元格写入
"6/7"格式 — 修复 v1.3 下角点引脚丢失问题 - pinmap_parser.py: 读取时包含角点,按
"/"拆分解析多引脚序号 — 修复 roundtrip 丢失引脚问题
[v1.2.0] - 2026-05-26
🐛 Bug 修复
- run.bat:
cd /d "%~dp0src"→cd /d "%~dp0Code\src"— 修复 cd 路径报错 - run.bat:
chcp 65001末尾添加>nul— 修复 title 中文乱码 - run.bat:
mode con lines=20→lines=50— 修复 Log 窗口无法上滑 - Code/src/file_selector.py:
.strip()后增加.strip('"\'')— 修复拖拽文件路径带引号导致不存在
[v1.0.1] - 2026-05-25
📝 文档完善
- 新增
Code/docs/README.md— 项目完整说明文档(8.1KB) - 新增
Code/docs/QUICKSTART.md— 快速入门指南(6.6KB) - 新增
Code/docs/RELEASE.md— 版本发布说明(5.1KB) - 完善项目文档体系,覆盖架构设计、快速上手、版本历史
[v1.0.0] - 2026-05-25
🎉 首次发布
功能
- PinMAP 解析:支持方形/长方形封装,左上角为 1 脚,逆时针排序
- 格式支持:兼容
.xls(BIFF8 引擎)和.xlsx两种 Excel 格式 - 智能验证:自动检测重复引脚、间隙、空单元格等结构问题
- PinList 生成:按顺时针顺序输出引脚序号列表
- GUI 模式:支持 tkinter 文件选择器,零命令行使用
- 命令行模式:
python main.py input.xlsx快速转换
技术
- Python 标准库,零第三方依赖
- 自定义 BIFF8 引擎解析
.xls文件(~19KB) openpyxl读写.xlsx文件- 模块化架构:解析 → 验证 → 生成 → 输出
架构
main.py— 入口与流程编排xls_reader.py— BIFF8.xls解析引擎xlsx_reader.py—.xlsx解析器pinmap_parser.py— PinMAP 结构解析validator.py— 结构验证与错误检测pinlist_generator.py— PinList 生成器xlsx_writer.py—.xlsx输出file_selector.py— tkinter 文件选择器models.py— 数据模型utils.py— 工具函数
测试
- 6 个测试夹具覆盖正常/异常场景
- 测试报告:
Test/test_report.md