python excelの画像を読み込む

3048 ワード

前言
現在、excelの画像の大部分はxlsxファイルを圧縮して読み取ることで、本稿ではpythonのパッケージで読み取ることができ、コードが簡潔で便利です.
環境準備:
  • python3
  • pillow
  • pip install pillow
    
  • pypiwin32
  • pip install pypiwin32
    

    コード#コード#
    from PIL import ImageGrab
    import win32com.client as win32
    
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    workbook = excel.Workbooks.Open(r'C:\Users\file.xlsx')
    
    for sheet in workbook.Worksheets:
        for i, shape in enumerate(sheet.Shapes):
            if shape.Name.startswith('Picture'):
                shape.Copy()
                image = ImageGrab.grabclipboard()
                image.save('{}.jpg'.format(i+1), 'jpeg')
    excel.Quit()
    

    注意事項
  • 一部のxlsxファイルが読めない可能性があるので、xlsフォーマット
  • に変更してみてください.
  • プログラム実行前に他のプログラムがexcelファイル
  • を開くことはできません.