54 lines
1.5 KiB
Markdown
54 lines
1.5 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 解析)
|
||
|
||
## 许可证
|
||
|
||
内部项目
|