从图片中提取表格数据并生成Excel文件。当用户提供截图、照片或扫描件中的表格数据,要求转成Excel/xlsx时触发。支持多张图片批量提取,自动识别列结构,数值类型自动识别(Excel可直接计算)。触发词:图片转Excel、截图转表格、图片提取数据、图片转xlsx、image to xlsx、screenshot to spreadsheet。
图片转Excel (Image to XLSX)是一项面向实际任务的技能,主要用于从用户提供的图片中提取表格/列表数据,生成标准 .xlsx 文件;适用于 CRM 截图、报表截图、客户名单照片等场景;
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
从用户提供的图片中提取表格/列表数据,生成标准 .xlsx 文件。适用于 CRM 截图、报表截图、客户名单照片等场景。
零第三方依赖 — 纯 Python 标准库(zipfile + json + tempfile),无需安装 openpyxl、pandas 等。
v2.0 升级:
将提取的数据写成 JSON 文件。
单工作表格式:
{
"sheet_name": "客户列表",
"freeze_header": true,
"headers": ["序号", "客户ID", "客户姓名", "当前跟进人"],
"columns": [
{"name": "序号", "width": 8},
{"name": "客户ID", "width": 12},
{"name": "客户姓名", "width": 16},
{"name": "当前跟进人", "width": 14}
],
"data": [
[1, 61459, "魏国祥", "赵巍"],
[2, 77780, "戴慧敏", "赵巍"]
]
}
多工作表格式:
{
"sheets": [
{
"sheet_name": "客户列表",
"headers": ["序号", "姓名", "金额"],
"data": [[1, "张三", 5800.50]]
},
{
"sheet_name": "订单明细",
"headers": ["订单号", "状态"],
"data": [["ORD-001", "已付款"]]
}
]
}
字段说明:
sheet_name: 工作表名称,可选,默认 "Sheet1"freeze_header: 是否冻结首行,可选,默认 trueheaders: 列名列表,必填columns: 列宽配置,可选,默认全部 width=12data: 二维数组,每行对应一行数据,必填(可为空数组)sheets: 多工作表数组,每个元素包含上述字段数值类型规则(自动识别,无需手动标记):
"123" 样字符串)→ Excel 数字格式 #,##0"1.5" 样字符串)→ Excel 数字格式 #,##0.00null / None → 空单元格JSON 文件保存到临时目录。
python SKILL_DIR/scripts/build_xlsx.py
SKILL_DIR为本 Skill 的安装目录。Windows 环境需加PYTHONUTF8=1:PYTHONUTF8=1 python SKILL_DIR/scripts/build_xlsx.py
输出路径默认保存到当前工作目录下,文件名由用户指定或自动命名。
用 zipfile 快速验证生成的 xlsx:
python -c "
import zipfile, xml.etree.ElementTree as ET
z = zipfile.ZipFile('')
ns = {'m': 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'}
with z.open('xl/worksheets/sheet1.xml') as f:
rows = ET.parse(f).findall('.//m:row', ns)
print(f'Rows: {len(rows)} (1 header + {len(rows)-1} data)')
print('XLSX valid!')
"
验证通过后用 present_files 交付给用户。
sheets 数组可生成包含多个 sheet 的 xlsxscripts/build_xlsx.py — 核心生成脚本,接收 JSON 输入,输出 xlsx相关专题
热门下载
相关下载
精品课程
共162课时 | 44.3万人学习
共15课时 | 1.8万人学习
共28课时 | 3.6万人学习