Install
openclaw skills install @qingchazhushui/merge-u9c-reportsopenclaw skills install @qingchazhushui/merge-u9c-reports用户上传 U9C 系统导出的报表文件(数量不定),要求合并成标准格式的"超时停滞单据"报表。
✅ 自动识别文件类型 - 通过文件名前缀自动判断 ✅ 数量不限 - 支持任意数量的报表文件 ✅ 同类合并 - 同类型多个文件自动合并到同一分节 ✅ 缺失容错 - 某些类型缺失时跳过该分节
通过文件名前缀匹配(正则表达式):
| 前缀 | 类型 | 分节标题 |
|---|---|---|
PR*.xlsx | 请购单 | 请购单(昨日停滞) |
Receivement*.xlsx | 收货单 | 收货单(昨日停滞) |
SO*.xlsx | 销售订单 | 销售订单(昨日停滞) |
Ship*.xlsx | 出货单 | 出货单(超过7天) |
PayReqFundHead*.xlsx | 付款请款单 | 付款请款单(昨日停滞) |
示例文件名:
PR20260814.xlsx → 请购单Receivement20260814.xlsx → 收货单SO20260814.xlsx → 销售订单Ship20260814.xlsx → 出货单PayReqFundHead20260814.xlsx → 付款请款单merge_u9c_reports_from_folder(
folder_path=r'C:\Users\jinshan\Downloads',
output_file=r'C:\Users\jinshan\Desktop\合并输出.xlsx',
date_str='20260814'
)
自动扫描文件夹中的所有 .xlsx 文件并分类处理。
merge_u9c_reports_from_files(
file_paths=[r'C:\path\to\PR20260814.xlsx', r'C:\path\to\SO20260814.xlsx'],
output_file=r'C:\Users\jinshan\Desktop\合并输出.xlsx',
date_str='20260814'
)
python merge_u9c_reports.py <文件夹路径> [输出文件路径] [日期字符串]
所有源文件统一映射到 9 列标准输出:
| 标准列名 | 说明 |
|---|---|
| 业务日期 | 单据创建日期 |
| 状态 | 单据状态(核准中/审核中) |
| 单据类型 | 单据类型名称 |
| 单据编号 | 单据唯一编号 |
| 发起人 | 创建人/销售员/业务员 |
| 送达时间 | 流程送达时间 |
| 在手时间 | 当前处理人在手时长 |
| 当前处理人 | 当前审批人姓名 |
| 备注 | 备注信息(如有) |
请购单 (PR)
收货单 (Receivement)
销售订单 (SO)
出货单 (Ship)
付款请款单 (PayReqFundHead)
其他列位置相同(业务日期 col[0]、状态 col[1] 等),详见代码。
Row 0: U9C超时停滞单据(总标题)
Row 1: 请购单(昨日停滞)(分节标题)
Row 2: 业务日期 | 状态 | ... | 备注(表头)
Row 3+: 数据行
空行
Row N: 收货单(昨日停滞)(分节标题)
...
最后一行: 根据《关于T+系统的管理规定》4.3.5条款,给予2分/次的行政处罚。
使用日期字符串作为 sheet 名称,格式:YYYYMMDD(如 20260814)
header=0 自动跳过YYYY-MM-DD 字符串None,Excel 显示为空