# excel_tool **Repository Path**: beeCoder2025/excel_tool ## Basic Information - **Project Name**: excel_tool - **Description**: excel合并工具(Python实现) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-06 - **Last Updated**: 2026-01-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Excel合并工具 一个基于Python开发的Windows桌面程序,用于合并多个Excel文件的数据。 ## 功能特性 1. **合并指定行数据**:从多个Excel文件中提取指定行范围的数据并合并 2. **合并指定列数据**:从多个Excel文件中提取指定列的数据并合并 3. **按照模板合并**:根据指定的Excel模板合并多个文件的数据 ## 技术栈 - Python 3.13 - tkinter(GUI框架) - pandas(数据处理) - openpyxl(Excel文件处理) - Nuitka(打包工具) - uv(包管理工具) ## 安装依赖 ```bash # 初始化项目(如果尚未初始化) uv init # 安装依赖 uv add pandas openpyxl # 安装开发依赖(用于打包) uv add nuitka --dev ``` ## 运行程序 ```bash # 使用uv环境中的Python解释器运行 .venv/Scripts/python main.py ``` ## 打包程序 ### 使用Nuitka打包 1. 确保已安装Nuitka: ```bash uv add nuitka --dev ``` 2. 运行打包脚本: ```bash build.bat ``` 3. 打包成功后,可执行文件将生成在 `dist` 目录下。 ### 手动打包命令 ```bash .venv/Scripts/python -m nuitka \ --onefile \ --windows-disable-console \ --output-dir=dist \ --enable-plugin=tk-inter \ --include-package=pandas \ --include-package=openpyxl \ main.py ``` ## 项目结构 ``` excel_merge_tool/ ├── main.py # 主程序入口 ├── merge_strategies/ # 合并策略模块 │ ├── __init__.py # 包初始化文件 │ ├── base_strategy.py # 合并策略基类 │ ├── row_merge_strategy.py # 按行合并策略 │ ├── column_merge_strategy.py # 按列合并策略 │ ├── template_merge_strategy.py # 按模板合并策略 │ └── strategy_factory.py # 策略工厂 ├── build.bat # 打包脚本 ├── pyproject.toml # 项目配置文件 └── README.md # 项目说明文档 ``` ## 使用说明 1. 运行程序后,在界面上选择要使用的合并功能 2. 点击"选择文件"按钮,选择要合并的Excel文件 3. 根据选择的功能设置相应的参数: - **合并指定行数据**:输入行范围,如"1-10"或"5" - **合并指定列数据**:输入列名,如"A,B,C"或"姓名,年龄,性别" - **按照模板合并**:选择模板Excel文件 4. 点击"开始合并"按钮,等待合并完成 5. 选择保存位置,保存合并结果 ## 扩展开发 本项目采用策略模式设计,方便后续添加新的合并功能。要添加新的合并功能,只需: 1. 在 `merge_strategies` 目录下创建一个新的策略类,继承自 `MergeStrategy` 基类 2. 实现 `merge` 方法 3. 在 `strategy_factory.py` 中注册新的策略 4. 在主程序的功能列表中添加新的选项 ## 许可证 MIT License