日本工资明细转换工具
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
lizhuang 45e0d551c1 Refactor ExcelConverterApp to handle single file selection and update UI labels. Adjust column mappings and improve employee data processing, including error handling for missing sheets and enhanced logging. Update employee info JSON to remove duplicate company names. 2 недель назад
.gitignore first commit 2 недель назад
ExcelConverter.spec first commit 2 недель назад
README.md first commit 2 недель назад
app.py Refactor ExcelConverterApp to handle single file selection and update UI labels. Adjust column mappings and improve employee data processing, including error handling for missing sheets and enhanced logging. Update employee info JSON to remove duplicate company names. 2 недель назад
bank_options.json first commit 2 недель назад
build.py first commit 2 недель назад
company_options.json first commit 2 недель назад
config.py Refactor ExcelConverterApp to handle single file selection and update UI labels. Adjust column mappings and improve employee data processing, including error handling for missing sheets and enhanced logging. Update employee info JSON to remove duplicate company names. 2 недель назад
employee_info.json Refactor ExcelConverterApp to handle single file selection and update UI labels. Adjust column mappings and improve employee data processing, including error handling for missing sheets and enhanced logging. Update employee info JSON to remove duplicate company names. 2 недель назад
main.py first commit 2 недель назад
requirements.txt first commit 2 недель назад
run.bat first commit 2 недель назад
template.xlsx first commit 2 недель назад

README.md

工资明细转换工具

这是一个用于批量转换Excel工资明细表的图形界面工具。

功能特点

  1. 批量导入Excel文件并根据模板进行转换
  2. 自定义设置每个文件的公司、银行和其他信息
  3. 按照指定的单元格映射规则转换数据
  4. 自动生成包含员工姓名和日期的输出文件名
  5. 支持复制和保留原始Excel的格式和样式

环境要求

  • Python 3.7 或更高版本
  • 依赖包:pandas, openpyxl, xlrd, xlwt

快速开始

  1. 确保已安装Python环境(3.7或更高版本)
  2. 使用uv创建虚拟环境: bash uv venv
  3. 激活虚拟环境:

    # Windows
    .venv\Scripts\activate
    # macOS/Linux
    source .venv/bin/activate
    
  4. 安装依赖包:

    uv pip install -r requirements.txt
    
  5. 运行程序: ```bash

    方法1: 直接运行Python脚本

    python main.py

# 方法2: 使用批处理文件 (Windows) run.bat


## 使用方法

1. 在界面上点击"选择Excel文件"按钮选择要转换的Excel文件
2. 双击列表中的每个文件,设置公司信息(C2)、银行信息(B30)和其他信息(F2)
3. 点击"选择导出位置"按钮选择输出文件保存位置
4. 点击"开始转换"按钮进行批量转换
5. 转换完成后会显示成功转换的文件数量

## 文件命名规则

输出文件名格式为:`YYYY年M月份給料明細書-姓名.xls`
- 年份(YYYY):从输入文件第二个Sheet页的B4单元格中提取
- 月份(M):从输入文件第二个Sheet页的B4单元格中提取
- 姓名:从输入文件第一个Sheet页的C3单元格中提取

## 配置指南

### 修改模板路径
在 `config.py` 文件中修改 `TEMPLATE_PATH` 变量。

### 修改单元格映射关系
在 `config.py` 文件中的 `CELL_MAPPINGS` 字典中定义映射关系:
```python
{
    (源文件sheet索引, 行, 列): (目标文件sheet索引, 行, 列)
}

修改公司和银行列表

编辑 config.py 文件中的 COMPANY_OPTIONSBANK_OPTIONS 列表即可添加或删除选项。

常见问题解决

程序启动失败

  • 检查 Python 版本是否兼容 (3.7+)
  • 确认所有依赖已正确安装
  • 检查模板文件是否存在于指定路径

转换后的文件格式不正确

  • 确认模板文件格式无误
  • 检查输入文件是否符合要求的格式
  • 确认映射关系配置正确

无法识别日期

如果程序无法正确识别日期格式,可能需要在 app.pyprocess_file 方法中添加更多的日期解析逻辑。

项目结构

excel_converter/
├── app.py          # 主应用程序代码
├── config.py       # 配置文件
├── main.py         # 入口点
├── requirements.txt # 依赖列表
├── run.bat         # Windows 运行脚本
├── README.md       # 项目说明
├── template.xlsx   # Excel模板文件
└── test_data/      # 测试数据目录

维护和扩展

添加新功能

  1. 尽量将配置参数放在 config.py 文件中
  2. 保持用户界面简洁直观
  3. 添加适当的错误处理和用户反馈

代码维护

  • 定期更新依赖包版本
  • 如果更改了核心功能,请更新文档
  • 考虑添加单元测试以确保功能正常