v1.6.1
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 - ✅ 模板格式提取:从模板读取字体、边框、填充、对齐、列宽、行高并应用到输出
快速开始
# 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) - 模板格式提取:字体、边框、填充、对齐、列宽、行高
许可证
内部项目
Description
Releases
9
pinmap-to-pinlist-v1.6.1
Latest
Languages
Python
99.9%