python xlwings Excel 內容截圖


import xlwings as xw
from PIL import ImageGrab


def excel_save_img(path, sheet=0, img_name="1", img_suffix="png"):
    app = xw.App(visible=True, add_book=False)
    # 1. 使用 xlwings 的 讀取 path 文件 啟動
    wb = app.books.open(path)

    # 2. 讀取 sheet
    sht = wb.sheets[sheet]

    # 3. 獲取 行與列
    nrow = sht.api.UsedRange.Rows.count
    ncol = sht.api.UsedRange.Columns.count
    print(nrow)
    print(ncol)

    # 4. 獲取有內容的 range
    range_val = sht.range(
        (1, 1),  # 獲取 第一行 第一列
        (nrow, ncol)  # 獲取 第 nrow 行 第 ncol 列
    )
    print(range_val.value)

    # 5. 復制圖片區域
    range_val.api.CopyPicture()

    # 6. 粘貼
    sht.api.Paste()

    pic = sht.pictures[0]  # 當前圖片
    pic.api.Copy()  # 復制圖片

    img = ImageGrab.grabclipboard()  # 獲取剪貼板的圖片數據
    img.save(img_name + "." + img_suffix)  # 保存圖片
    pic.delete()  # 刪除sheet上的圖片

    wb.close()  # 不保存,直接關閉
    app.quit()  # 退出


path = r"D:\1.xlsx"

excel_save_img(path, sheet=1, img_name='1')

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM