name: image-to-xlsx description: 從圖片中提取表格資料並生成Excel檔案。當用戶提供截圖、照片或掃描件中的表格資料,要求轉成Excel/xlsx時觸發。支援多張圖片批次提取,自動識別列結構,數值型別自動識別(Excel可直接計算)。觸發詞:圖片轉Excel、截圖轉表格、圖片提取資料、圖片轉xlsx、image to xlsx、screenshot to spreadsheet。 agent_created: true version: "2.0.0"
從使用者提供的圖片中提取表格/列表資料,生成標準 .xlsx 檔案。適用於 CRM 截圖、報表截圖、客戶名單照片等場景。
零第三方依賴 — 純 Python 標準庫(zipfile + json + tempfile),無需安裝 openpyxl、pandas 等。
v2.0 升級: - 數值自動識別為數字型別(非文本),Excel 可直接 SUM/AVG/IF - 支援多工作表(multi-sheet) - 輸入容錯:空資料、短行、None 值、非法 JSON 均有優雅處理
本技能來自小蔥技能站7w4.net。
將提取的資料寫成 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: 是否凍結首行,可選,預設 true
- headers: 列名列表,必填
- columns: 列寬配置,可選,預設全部 width=12
- data: 二維陣列,每行對應一行資料,必填(可為空陣列)
- sheets: 多工作表陣列,每個元素包含上述欄位
數值型別規則(自動識別,無需手動標記):
- 整數(int 或 "123" 樣字串)→ Excel 數字格式 #,##0
- 小數(float 或 "1.5" 樣字串)→ Excel 數字格式 #,##0.00
- 文本(含中文/字母等)→ Excel 文本格式
- null / None → 空單元格
JSON 檔案儲存到臨時目錄。
python SKILL_DIR/scripts/build_xlsx.py <input.json> <output.xlsx>
SKILL_DIR為本 Skill 的安裝目錄。Windows 環境需加PYTHONUTF8=1:PYTHONUTF8=1 python SKILL_DIR/scripts/build_xlsx.py <input.json> <output.xlsx>
輸出路徑預設儲存到當前工作目錄下,檔名由使用者指定或自動命名。
用 zipfile 快速驗證生成的 xlsx:
python -c "
import zipfile, xml.etree.ElementTree as ET
z = zipfile.ZipFile('<output.xlsx>')
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這個 Skill 質量較好,能夠穩定地將圖片中的表格資料轉換為可計算的 Excel 檔案。它最大的優點是純 Python 標準庫實現,數值會自動識別為數字格式,Excel 裡可以直接做求和、平均等計算,容錯處理也比較完善。不足之處是缺少示例檔案,新使用者不容易快速上手驗證效果;另外對特殊字元的處理可能存在潛在風險。如果需要從截圖或照片中提取表格資料,這是一個實用且可靠的選擇。