Excel/截图字段智能导入工具,将 Excel 或截图(如 PDU 截图)中的字段按固定模板自动导入,生成标准化模板。支持中英文字段名映射、字段类型智能识别和 OCR 识别。适用于资产负债表、现金流量表、利润表、银行账号等财务报表批量导入。
Excel 导入模板智能生成器
功能概述
Excel 导入模板智能生成器是一项面向实际任务的技能,主要用于将 Excel 数据源或截图中的字段,按照固定模板格式自动导入,生成标准化的导入模板;支持的数据源类型 :;
核心要点
- Excel/CSV 文件;
- 截图/图片(PNG、JPG 等);
- 支持的报表类型 :;
使用与执行
资产负债表;现金流量表;银行账号配置;任意自定义表单;方式一:处理 Excel 文件;用户提供:;模板文件路径;
结果检查与注意事项
数据源 Excel 文件路径;方式二:处理截。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Excel 导入模板智能生成器
功能说明
将 Excel 数据源或截图中的字段,按照固定模板格式自动导入,生成标准化的导入模板。
支持的数据源类型:
- Excel/CSV 文件
- 截图/图片(PNG、JPG 等)
支持的报表类型:
- 资产负债表
- 现金流量表
- 利润表
- 银行账号配置
- 任意自定义表单
使用方法
方式一:处理 Excel 文件
用户提供:
- 模板文件路径
- 数据源 Excel 文件路径
- 表中文名
方式二:处理截图/图片
用户提供:
- 截图文件路径(支持多张截图)
系统自动完成:
- OCR 识别截图文字
- 提取字段名
- 生成中英文映射
- 识别字段类型
- 输出模板文件
工作流程
Step 1: OCR 识别(截图场景)
from cnocr import CnOcr
ocr = CnOcr()
result = ocr.ocr('截图路径.png')
# 打印全部识别结果检查完整性
for i, item in enumerate(result, 1):
print(f'{i}. {item["text"].strip()}')
Step 2: 字段提取与过滤
# 排除占位符
keywords_to_exclude = ['请输入', '年/月/日']
fields = []
for item in result:
text = item['text'].strip()
if text and not any(kw in text for kw in keywords_to_exclude):
fields.append(text)
Step 3: 中英文字段映射
# 预定义映射库
name_mapping = {
# 财务报表通用
'营业收入': 'operatingRevenue',
'营业成本': 'operatingCosts',
'净利润': 'netProfit',
'利润总额': 'totalProfit',
# 银行账号
'账号名称': 'accountName',
'银行名称': 'bankName',
'开户行': 'openingBank',
'银行账户': 'bankAccount',
# ... 更多见 scripts/field_mapping.py
}
# 自动映射,未知字段使用 field{N} 格式
eng_name = name_mapping.get(name, f'field{index+1}')
Step 4: 字段类型智能识别
def detect_field_type(name):
amount_keywords = ['资金', '借款', '资产', '负债', '权益', '资本',
'账款', '票据', '投资', '应收', '应付', '利润',
'费用', '收益', '收入', '成本', '税额']
if any(kw in name for kw in amount_keywords):
return '金额'
if any(kw in name for kw in ['日期']):
return '日期时间'
if any(kw in name for kw in ['类型', '状态']):
return '单选'
return '单行文本'
Step 5: 生成模板
import openpyxl
# 读取模板
tpl_wb = openpyxl.load_workbook('Excel导入模板.xlsx')
tpl_ws = tpl_wb.active
# ⚠️ 表名放在 B1,不是 A1!
tpl_ws['B1'] = '表中文名'
# 清除旧数据
for row in range(5, tpl_ws.max_row + 1):
for col in range(1, 6):
tpl_ws.cell(row=row, column=col).value = None
# 写入字段
for i, name in enumerate(fields):
row_num = i + 5
eng_name = name_mapping.get(name, f'field{i+1}')
field_type = detect_field_type(name)
tpl_ws.cell(row=row_num, column=1, value=name)
tpl_ws.cell(row=row_num, column=2, value=eng_name)
tpl_ws.cell(row=row_num, column=3, value=field_type)
tpl_ws.cell(row=row_num, column=4, value='否')
# 保存
tpl_wb.save('输出模板.xlsx')
标准模板结构
行1: A1='表中文名' | B1=实际表名 行2: A2='表英文名' | B2=entityName 行3: A3='说明' 行4: 字段中文名 | 字段英文名 | 字段类型 | 是否必填 | 字段说明 行5+: 字段数据行
字段类型说明
| 类型 | 识别关键词 | 说明 |
|---|---|---|
| 金额 | 资金、资产、负债、收入、成本、利润等 | 财务数值 |
| 日期时间 | 日期、时间 | 日期格式 |
| 单选 | 类型、状态 | 下拉选项 |
| 状态标签 | 状态 | 状态显示 |
| 单行文本 | 其他 | 普通文本 |
环境依赖
pip install openpyxl cnocr
注意事项
- 表名位置:表名必须填在 B1,A1 保持"表中文名"
- OCR 完整性:识别后检查全部结果,不能遗漏任何区域
- 残留清除:每次生成前清除第5行及之后所有旧数据
- 结果验证:生成后检查前25行确认无误
故障排除
cnocr 首次运行慢
首次运行会自动下载模型,后续会快很多。
OCR 识别不准确
- 确保截图清晰
- 避免文字与背景颜色相近
- 文字方向保持正向
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
