This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
ExcelTools is a PyQt6 tabbed GUI application integrating three Excel utilities:
| Tab | Function | Description |
|---|---|---|
| Excel 搜索 | Search | Recursively search Excel files in a directory for cell values |
| Excel 合并 | Merge | Merge multiple Excel files into one, with header handling and column validation |
| Excel 拆分 | Split | Split one Excel file by worksheet, fixed row count, or category column |
Run with python __main__.py or python -m ExcelTools from the project root.
ExcelTools/
├── assets/
│ └── exceltools_logo.png # 程序 Logo 与窗口图标
├── exceltools/ # Shared logic package
│ ├── __init__.py
│ ├── search.py # search_file(), search_dir() generators
│ ├── merge.py # get_file_info(), merge_files()
│ └── split.py # get_sheet_names(), get_column_names(), split_excel()
├── __main__.py # PyQt6 tabbed GUI (SearchTab, MergeTab, SplitTab, MainWindow)
├── TestData/ # Sample Excel files for manual testing
├── .gitignore
└── CLAUDE.md
- openpyxl — reading
.xlsx - xlrd — reading
.xls - PyQt6 — GUI
- pandas — merge and split logic
All business logic lives in exceltools/. The GUI in __main__.py only handles presentation and threading — never duplicate search, merge, or split logic in the UI layer.