Bonjour à toutes et à tous,
Je souhaite créer un document Word, en .docx, puis y insérer des images.
Ces images sont extraites d'un fichier Excel (.xlsx).
J'arrive à créer le .docx, j'arrive à extraire les images, mais c'est l'insertion dans le document .docx qui me pose problème.
Voici comment j'extrais les images depuis le fichier .xlsx:
from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader
wb = load_workbook('C:/Users/chemin/fichier.xlsx')
sheetcpuload = wb['CP UP CPU Load'] => Je vais lire l'onglet "CP UP CPU Load" du fichier "fichier.xlsx" (que j'ai chargé dans la variable "wb")
image_loader_cpu = SheetImageLoader(sheetcpuload) => je vais charger les images contenues dans cet onglet
cpuload1 = image_loader_cpu.get('A507') => je définis la variable "cpuloaad1" qui reprend l'image située en case A507 de l'onglet "CP UP CPU Load"
cpuload1.show() => j'affiche l'image
Voici comment je crée le document Word (.docx) et comment j'essaie d'y insérer cette image:
RNC301 = docx.Document() => Création de "RNC301" en .docx
sections = RNC301.sections
for section in sections:
section.top_margin = Cm(1.2)
section.bottom_margin = Cm(1.2) => mise en page
section.left_margin = Cm(1.2)
section.right_margin = Cm(1.2)
RNC301.add_heading('RNC301 Capacity Report',0) => Ajout d'un en-tête "RNC301 Capacity Report" en format "paragraphe 1"
para14 = RNC301.add_paragraph('CP-UP CPU Load', style='List Bullet') => Ajout d'une ligne "CP-UP CPU Load"
RNC301.add_picture(cpuload1,width=Inches(7.8), height=Inches(2.6)) => tentative d'insertion de l'image, en définissant sa hauteur et sa largeur
RNC301.save ("C:/Users/chemin/nom_du_fichier.docx") => enregistrement de la variable "RNC301" à l'emplacement 'chemin' avec le nom 'nom_du_fichier.docx'
Voici le message d'erreur que j'obtiens:
RNC301.add_picture(cpuload1,width=Inches(7.8), height=Inches(2.6))
AttributeError: read
J'avoue que je bloque, étant débutant.
Quand je cherche sur le net, je trouve comment insérer une image dans un document Excel, mais ça ne me convient pas.
Est-ce que l'un, ou l'une , d'entre vous saurait comment résoudre ce problème svp ?
![]()
Partager