# 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 解析) ## 许可证 内部项目