UTILISATION D'IRONXL POUR PYTHON

Comment générer un document Word à partir des données Excel en Python

Publié décembre 15, 2024
Partager:

Introduction

Génération de modèles Word à partir de feuilles de calcul Excel à l'aide dePythonoffre de nombreux avantages qui peuvent améliorer considérablement l'efficacité, la précision et la présentation dans divers contextes professionnels et personnels. En tirant parti de l'automatisation, de la personnalisation et de l'intégrité des données, les professionnels peuvent s'assurer que leurs documents Word sont des outils de communication efficaces qui transmettent les informations essentielles de manière claire et précise. Une telle bibliothèque capable de convertirMicrosoft Excel àMicrosoft Wordest leIronXL Paquet Python deIron Software et lepython-docx bibliothèque.

Cet article examinera les étapes nécessaires pour générer des documents Word à partir de fichiers Excel.

Comment générer un document Word à partir des données Excel en Python

  1. Créez un fichier Python nommé excelToWord.py.

  2. Ajoutez les packages IronXL et python-docx.

  3. Créer ou ajouter un fichier Excel au dossier du projet.

  4. Lire des documents Excel à l'aide d'IronXL.

  5. Créez un document Word et insérez des données Excel en utilisant python-docx.

Qu'est-ce qu'IronXL ?

IronXL for Pythonest une bibliothèque robuste développée par Iron Software qui permet aux développeurs de créer, lire et modifier des fichiers Excel(XLS, XLSX et CSV)dans les projets Python. Voici quelques caractéristiques et avantages clés de l'utilisation d'IronXL :

Caractéristiques principales

  1. Aucune Dépendance Excel : IronXL n'exige pas l'installation de Microsoft Excel sur votre serveur, ce qui le rend idéal pour les environnements serveur sans Excel.

  2. API intuitive : IronXL fournit une API naturelle et intuitive pour travailler avec des fichiers Excel, ce qui facilite son intégration dans vos projets Python.

  3. Prise en charge de plusieurs formats : IronXL prend en charge divers formats de fichiers Excel, y compris XLS, XLSX, CSV et TSV.

  4. Mise en forme des cellules : Vous pouvez styliser les cellules avec différentes polices, tailles, arrière-plans, bordures et formats de nombres.

  5. Gestion des formules : IronXL peut travailler avec les formules Excel et les recalculer chaque fois qu'une feuille est modifiée.

  6. Compatibilité multiplateforme : IronXL fonctionne sur Windows, macOS, Linux, Docker, Azure et AWS.

Qu'est-ce que python-docx

python-docx est une bibliothèque Python qui crée, modifie et travaille avec des documents Microsoft Word tels que les fichiers `.docx`. Il fournit une API simple pour interagir avec les documents Word, vous permettant d'exécuter des tâches telles que l'ajout de texte, le formatage, l'insertion de tableaux et d'images, et bien plus encore.

Caractéristiques principales

1. Création de documents

Vous pouvez créer des documents Word à partir de zéro et y ajouter du contenu, y compris des paragraphes, des tableaux, des titres, et plus encore. Ce package peut également être utilisé pour éditer des documents individuels.

2. Manipulation de texte

Ajouter et modifier des paragraphes de texte. Formater le texte(par exemple, gras, italique, souligner, etc.)utilisant "runs"(des parties de texte avec différents styles au sein d'un paragraphe). Ajoutez et stylisez des titres de différents niveaux.

3. Ajout de tableaux

Créer des tableaux avec un nombre spécifié de lignes et de colonnes. Accéder et modifier les cellules individuelles d'un tableau.

4. Listes

Créez des listes à puces ou numérotées avec des styles prédéfinis.

5. Travailler avec les styles

Appliquez des styles prédéfinis tels que "Titre 1", "Normal", etc. Vous pouvez également définir et appliquer des styles personnalisés aux paragraphes ou au texte.

6. Insertion d'images

Insérer des images dans le document à des emplacements spécifiques. Vous pouvez redimensionner les images en spécifiant leur largeur et leur hauteur.

Conditions préalables

Avant de plonger dans le code, assurez-vous d'avoir les prérequis suivants :

  1. Python installé : Assurez-vous d'avoir Python installé sur votre machine. Vous pouvez le télécharger depuis le site officiel de Python.site web.

  2. IronXL installé : Vous devez installer le package IronXL. Vous pouvez le faire en utilisant pip.

  3. python-docx installé : Vous devez installer le package python-docx. Vous pouvez le faire en utilisant pip.

  4. Fichier Excel : Créez un fichier Excel d'exemple avec des données.

Étape 1 : Créez un fichier Python nommé excelToWord.py

Ouvrez votre IDE favori comme Visual Studio Code et créez un fichier appelé excelToWord.py

Comment générer un document Word à partir de données Excel en Python : Figure 1 - Génération de document Excel

Étape 2 : Ajouter le package IronXL

Utilisez Pip pour installer les packages IronXL et python-docx.

pip install IronXL python-docx

Étape 3 : Créer ou ajouter un fichier Excel au dossier du projet

Copiez le fichier Excel d'exemple dans le dossier de code. Le fichier contient les données ci-dessous.

Comment générer un document Word à partir de données Excel en Python : Figure 2 - Exemple d'Excel

Étape 4 : Lisez le document Excel en utilisant IronXL

Utilisez IronXL pour charger le document Excel et lire toutes les cellules en utilisant le code ci-dessous.

import ironxl
from docx import Document
ironxl.License.LicenseKey = "your license"
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]
# read data from excel
data = []
# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)
        row_data.append(cell_value)
    data.append(row_data)
PYTHON

Étape 5 : Créez un document Word et insérez des données Excel en utilisant python-docx.

Le processus de génération de document Word implique la création d'un document Word qui est lu à partir de données Excel précédentes.

doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)  # Add header cells
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)
doc.save("sample.docx")
PYTHON

Le code complet pour générer des documents Word est ici.

# Word documents from Excel data
import ironxl
from docx import Document
ironxl.License.LicenseKey = "your license"
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]
# read data from excel
data = []
# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)
        row_data.append(cell_value)
    data.append(row_data)
# document generation process
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)  # Add header cells
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)
doc.save("sample.docx") # save as Microsoft Word document
PYTHON

Explication du code

Ce script Python effectue deux tâches principales.

1. Lecture des données à partir d'un fichier Excel en utilisant IronXL

  • Le script commence par configurer une licence pour la bibliothèque IronXL, qui est utilisée pour gérer les fichiers Excel en Python.
  • Il charge ensuite un fichier Excel(sample.xlsx)et sélectionne la première feuille de calcul du fichier.
  • Le script lit les données de la feuille de calcul, en parcourant toutes les lignes et colonnes. Il collecte les valeurs de chaque cellule dans une liste 2D.(données), où chaque ligne de la feuille Excel correspond à une sous-liste dans les données.
  • Les valeurs des cellules sont imprimées sur la console au fur et à mesure qu'elles sont lues.

2. Créer un document Word à l'aide de python-docx

  • Un nouveau document Word est créé en utilisant la bibliothèque python-docx.
  • Le script ajoute un titre("Exportation des données Excel à l'aide de Python Docx")en haut du document à l'aide d'un titre.
  • Il crée ensuite un tableau dans le document, où la première ligne du tableau contient les en-têtes de la première ligne de la feuille Excel, et les lignes suivantes contiennent les données correspondantes du fichier Excel.
  • Enfin, le document Word est enregistré sous le nom sample.docx.

    Le script lit des données à partir d'un fichier Excel(sample.xlsx), le traite et exporte les données dans un tableau dans un nouveau document Word(sample.docx). La première ligne de la feuille Excel est utilisée comme en-têtes de table, et chaque ligne de données de la feuille Excel est ajoutée au document Word sous forme de ligne dans le tableau.

Sortie

Comment générer un document Word à partir de données Excel en Python : Figure 3 - Excel vers Word

Fichier Word

Comment générer un document Word à partir de données Excel en Python : Figure 4 - Format de document Word

Licence IronXL (Version d'essai disponible)

IronXL fonctionne avec un fichier de licence valide attaché au code. Les utilisateurs peuvent facilement obtenir une licence d'essai depuis le page de licence.

Pour utiliser la licence, placez-la quelque part dans le code comme ci-dessous avant d'utiliser la bibliothèque IronXL.

ironxl.License.LicenseKey = "Your License Key"
PYTHON

Conclusion

Le code exemple démontre une manière efficace de lire des données à partir d'un fichier Excel en utilisant IronXL et d'exporter ensuite ces données dans un document Word en utilisant python-docx. Le processus comporte deux étapes principales :

  1. Extraction des données à partir d'Excel : Le script charge un fichier Excel et extrait les données de sa première feuille de calcul. Il parcourt les lignes et les colonnes pour collecter les valeurs des cellules dans une liste, qui peut être facilement manipulée ou sauvegardée.

  2. Création et remplissage d'un document Word : En utilisant la bibliothèque python-docx, le script crée un nouveau document Word, ajoute un titre et formate les données Excel extraites sous forme de tableau dans le document Word. Il place automatiquement la première ligne de données Excel comme en-têtes et les lignes restantes comme données de table.

    Cette approche permet un transfert de données transparent d'Excel vers Word, ce qui peut être utile pour des tâches telles que la génération de rapports, l'exportation de données ou l'automatisation de documents. La combinaison de IronXL pour la gestion d'Excel et de python-docx pour la création de documents Word offre une solution puissante pour travailler avec ces formats de fichiers en Python.

< PRÉCÉDENT
Comment créer un fichier Excel en Python
SUIVANT >
Comment supprimer une feuille de calcul d'un fichier Excel en Python

Prêt à commencer ? Version : 2024.11 vient de paraître

Téléchargement gratuit de tuyaux Voir les licences > ;