BUG-005: 模板文件名改为 PinMAP-Template.xlsx / PinList-Template.xlsx BUG-006: 布局改为 Number 外侧 + Name 里侧(v1.5.4 最终版) - 从边界往中心:第1圈=Number,第2圈=Name - 上边角点例外处理,15种网格无冲突 - 18/18 单元测试 + 37/37 集成测试全部通过
73 lines
2.4 KiB
Markdown
73 lines
2.4 KiB
Markdown
# PinMAP → PinList 转换器
|
||
|
||
将 Excel 格式的 **PinMAP** 文件(方形封装引脚布局图)自动转换为 **PinList** 格式(引脚序号列表)。
|
||
|
||
## 特性
|
||
|
||
- ✅ 支持 `.xls` 和 `.xlsx` 两种格式
|
||
- ✅ 零第三方依赖(Python 标准库)
|
||
- ✅ GUI 文件选择 + 命令行双模式
|
||
- ✅ 智能结构验证(重复/间隙/空单元格检测)
|
||
- ✅ 逆时针 PinMAP → 顺时针 PinList 自动转换
|
||
- ✅ 双向转换:MAP→List 与 List→MAP
|
||
- ✅ **独立模板**:MAP→List 使用 `BallList-Template.xlsx`,List→MAP 使用 `BallMAP-Template.xlsx`
|
||
- ✅ **模板格式提取**:从模板读取字体、边框、填充、对齐、列宽、行高并应用到输出
|
||
|
||
## 快速开始
|
||
|
||
```bash
|
||
# GUI 模式(弹出文件选择器)
|
||
python main.py
|
||
|
||
# 命令行模式
|
||
python main.py input.xlsx
|
||
```
|
||
|
||
输出文件:`input_PinList.xlsx`
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
pinmap-to-pinlist/
|
||
├── Code/
|
||
│ ├── src/ # 源代码
|
||
│ └── docs/ # 架构文档
|
||
├── Test/
|
||
│ ├── fixtures/ # 测试夹具(含模板文件)
|
||
│ └── test_report.md # 测试报告
|
||
├── Releases/ # 发布包
|
||
├── BallList-Template.xlsx # MAP→List 样式模板(可放置于项目根目录)
|
||
├── BallMAP-Template.xlsx # List→MAP 样式模板(可放置于项目根目录)
|
||
├── CHANGELOG.md
|
||
└── README.md
|
||
```
|
||
|
||
## 技术栈
|
||
|
||
- Python 3.x(标准库)
|
||
- openpyxl(.xlsx 读写)
|
||
- 自定义 BIFF8 引擎(.xls 解析)
|
||
|
||
## 版本历史
|
||
|
||
### v1.5.4 (2026-06-09) — Bug 修复版本
|
||
|
||
- **BUG-005**: 模板文件名修正 — `BallList-Template.xlsx` → `PinList-Template.xlsx`,`BallMAP-Template.xlsx` → `PinMAP-Template.xlsx`
|
||
- **BUG-006**: 布局重设计 — Number 外侧(第 1 圈)+ Name 里侧(第 2 圈),彻底解决单元格冲突问题
|
||
- 上边:Number row 1,Name row 2(角点例外)
|
||
- 左边:Number col 0,Name col 1
|
||
- 下边:Number row rows+3,Name row rows+2
|
||
- 右边:Number col cols+1,Name col cols
|
||
- Pin1 保持在左上角(A3=1, B3=Pin1)
|
||
- 18/18 单元测试 + 37/37 集成测试全部通过
|
||
|
||
### v1.5.0 (2026-06-06) — 模板分离与格式提取
|
||
|
||
- MAP→List 使用 `PinList-Template.xlsx`(旧名 `BallList-Template.xlsx`)
|
||
- List→MAP 使用 `PinMAP-Template.xlsx`(旧名 `BallMAP-Template.xlsx`)
|
||
- 模板格式提取:字体、边框、填充、对齐、列宽、行高
|
||
|
||
## 许可证
|
||
|
||
内部项目
|