從使用者提供的圖片中提取表格/列表資料,生成標準 .xlsx 檔案。適用於 CRM 截圖、報表截圖、客戶名單照片等場景。
零第三方依賴 — 純 Python 標準庫(zipfile + json + tempfile),無需安裝 openpyxl、pandas 等。
v2.0 升級:
小蔥技能站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: 是否凍結首行,可選,預設 trueheaders: 列名列表,必填columns: 列寬配置,可選,預設全部 width=12data: 二維陣列,每行對應一行資料,必填(可為空陣列)sheets: 多工作表陣列,每個元素包含上述欄位數值型別規則(自動識別,無需手動標記):
"123" 樣字串)→ Excel 數字格式 #,##0"1.5" 樣字串)→ Excel 數字格式 #,##0.00null / 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 裡可以直接做求和、平均等計算,容錯處理也比較完善。不足之處是缺少示例檔案,新使用者不容易快速上手驗證效果;另外對特殊字元的處理可能存在潛在風險。如果需要從截圖或照片中提取表格資料,這是一個實用且可靠的選擇。