首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python处理多个Excel截图放到文件夹升级版

Python处理多个Excel截图放到文件夹升级版

原创
作者头像
用户12501860
修改2026-05-26 17:54:56
修改2026-05-26 17:54:56
150
举报

import os import xlwings as xw from PIL import ImageGrab # ========= 自行修改这两个文件夹路径 ========= excel_dir = r"D:\Excel文件存放目录" img_save_dir = r"D:\Excel截图保存目录" # =========================================== os.makedirs(img_save_dir, exist_ok=True) def capture_excel(file_path, out_path): try: with xw.App(visible=True, add_book=False) as app: wb = app.books.open(file_path) ws = wb.sheets[0] data_range = ws.used_range range_addr = data_range.address print(f"【{os.path.basename(file_path)}】识别区域:{range_addr}") ws.range(range_addr).api.CopyPicture(Appearance=1, Format=2) img = ImageGrab.grabclipboard() if img: img.save(out_path) print(f"✅ 已保存:{os.path.basename(out_path)}\n") else: print(f"❌ 截图失败:剪贴板为空\n") wb.close() except Exception as err: print(f"❌ 出错:{os.path.basename(file_path)} → {str(err)}\n") if __name__ == "__main__": total = 0 for file in os.listdir(excel_dir): file_lower = file.lower() if file_lower.endswith(".xlsx") or file_lower.endswith(".xls"): total += 1 excel_full_path = os.path.join(excel_dir, file) # 拆分文件名:f-1 / h-1 这类格式 name_without_suffix = os.path.splitext(file)[0] # 提取前缀和编号 if "-" in name_without_suffix: prefix, num = name_without_suffix.split("-", 1) # 创建对应编号文件夹 1/2/3 sub_dir = os.path.join(img_save_dir, num) os.makedirs(sub_dir, exist_ok=True) # 文件名统一为 f.png / h.png save_name = f"{prefix}.png" save_full_path = os.path.join(sub_dir, save_name) capture_excel(excel_full_path, save_full_path) print(f"批量处理完成,共处理 {total} 个文件")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档