Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
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.
Créez un fichier Python nommé excelToWord.py.
Ajoutez les packages IronXL et python-docx.
Créer ou ajouter un fichier Excel au dossier du projet.
Lire des documents Excel à l'aide d'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 :
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.
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.
Prise en charge de plusieurs formats : IronXL prend en charge divers formats de fichiers Excel, y compris XLS, XLSX, CSV et TSV.
Mise en forme des cellules : Vous pouvez styliser les cellules avec différentes polices, tailles, arrière-plans, bordures et formats de nombres.
Gestion des formules : IronXL peut travailler avec les formules Excel et les recalculer chaque fois qu'une feuille est modifiée.
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.
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.
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.
Créer des tableaux avec un nombre spécifié de lignes et de colonnes. Accéder et modifier les cellules individuelles d'un tableau.
Créez des listes à puces ou numérotées avec des styles prédéfinis.
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.
Insérer des images dans le document à des emplacements spécifiques. Vous pouvez redimensionner les images en spécifiant leur largeur et leur hauteur.
Avant de plonger dans le code, assurez-vous d'avoir les prérequis suivants :
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.
IronXL installé : Vous devez installer le package IronXL. Vous pouvez le faire en utilisant pip.
python-docx installé : Vous devez installer le package python-docx. Vous pouvez le faire en utilisant pip.
Ouvrez votre IDE favori comme Visual Studio Code et créez un fichier appelé excelToWord.py
Utilisez Pip pour installer les packages IronXL et python-docx.
pip install IronXL python-docx
Copiez le fichier Excel d'exemple dans le dossier de code. Le fichier contient les données ci-dessous.
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)
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")
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
Ce script Python effectue deux tâches principales.
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.
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"
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 :
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.
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.
9 produits de l'API .NET pour vos documents de bureau