Bild in openpyxl einfügen

Ist es möglich, ein Bild (jpeg, png, etc) mit openpyxl einzufügen?

Grundsätzlich möchte ich ein generiertes Bild mit einem darunter liegenden Diagramm platzieren.

Ich sehe nichts in der Dokumentation, die im Vergleich zur Reife des Codes etwas fehlt.

3 Solutions collect form web for “Bild in openpyxl einfügen”

Im Folgenden wird ein Bild in Zelle A1 eingefügt. Passen Sie die Bildposition an Ihre Bedürfnisse an oder behandeln Sie die Erstellung des PIL-Bildes selbst und geben Sie diese an Image()

 import openpyxl wb = openpyxl.Workbook() ws = wb.worksheets[0] img = openpyxl.drawing.Image('test.jpg') img.anchor(ws.cell('A1')) ws.add_image(img) wb.save('out.xlsx') 

In aktuellen Versionen von openpyxl (bis zu 2.4.5 mindestens) musst du so ein Bild anrufen:

img = openpyxl.drawing.image.Image('test.jpg')

Bereitstellung eines vollständigen Updates, wie dies zu tun ist. Diese Lösung verwendet openpyxl Version 2.4.5.

Ich habe ein Bild in mein lokales Verzeichnis heruntergeladen, eine vorhandene Arbeitsmappe geöffnet und mit dem eingelegten Bild gespeichert.

 import openpyxl from openpyxl import load_workbook from openpyxl import Workbook from openpyxl.drawing.image import Image from openpyxl.utils import coordinate_from_string openpyxl_version = openpyxl.__version__ print(openpyxl_version) #to see what version I'm running # downloaded a .png to local directory manually from # "https://www.python.org/static/opengraph-icon-200x200.png" #change to the location and name of your image png_loc = r'c:\users\me\opengraph-icon-200x200.png' # test.xlsx already exists in my current directory wb = load_workbook('test.xlsx') ws = wb.active my_png = openpyxl.drawing.image.Image(png_loc) ws.add_image(my_png, 'B3') wb.save('test.xlsx') 

Ergebnisse:

Bildbeschreibung hier eingeben

  • Ist openpyxl das schnellste Paket zu verwenden, um große xlsx Dateien zu lesen?
  • Iteration über eine Reihe von Zeilen mit ws.iter_rows in der optimierten Leser von openpyxl
  • Openpyxl-Zellenstil nicht korrekt melden
  • Python ist die beste Programmiersprache der Welt.