from ironxl import *
# Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
workbook = WorkBook.Load("sample.xlsx")
# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
# Get any existing worksheet
first_sheet = workbook.DefaultWorkSheet
# Select a cell and return the converted value
cell_value = worksheet["A2"].IntValue
# Read from ranges of cells elegantly.
for cell in worksheet["A2:A10"]:
print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
# Calculate aggregate values such as Min, and Sum
total_sum = worksheet["A2:A10"].Sum()
Generieren von Word-Dokumenten aus Excel-Daten in Python
Veröffentlicht 15. Dezember 2024
Teilen Sie:
Einführung
Erstellen von Word-Vorlagen aus Excel-Tabellen mithilfe vonPythonbietet zahlreiche Vorteile, die die Effizienz, Genauigkeit und Präsentation in verschiedenen beruflichen und privaten Kontexten erheblich verbessern können. Durch den Einsatz von Automatisierung, Anpassung und Datenintegrität können Fachleute sicherstellen, dass ihre Word-Dokumente wirksame Kommunikationsmittel sind, die wesentliche Informationen klar und genau vermitteln. Eine solche Bibliothek, die konvertieren kannMicrosoft Excel zuMicrosoft Wordist derIronXL Python-Paket vonIron Software und diepython-docx bibliothek.
Dieser Artikel wird die Schritte untersuchen, die erforderlich sind, um Word-Dokumente aus Excel-Dateien zu erstellen.
So erstellen Sie ein Word-Dokument aus Excel-Daten in Python
Erstellen Sie eine Python-Datei mit dem Namen excelToWord.py.
Fügen Sie die Pakete IronXL und python-docx hinzu.
Erstellen oder fügen Sie eine Excel-Datei zum Projektordner hinzu.
Excel-Dokumente mit IronXL lesen.
Erstellen Sie ein Word-Dokument und fügen Sie Excel-Daten mit python-docx ein.
Was ist IronXL?
IronXL for Pythonist eine robuste Bibliothek, die von Iron Software entwickelt wurde und es Entwicklern ermöglicht, Excel-Dateien zu erstellen, zu lesen und zu bearbeiten.(XLS, XLSX und CSV)in Python-Projekten. Hier sind einige wichtige Funktionen und Vorteile der Verwendung von IronXL:
Wesentliche Merkmale
Keine Excel-Abhängigkeit: IronXL erfordert nicht die Installation von Microsoft Excel auf Ihrem Server, was es ideal für Server-Umgebungen ohne Excel macht.
Intuitive API: IronXL bietet eine natürliche und intuitive API für die Arbeit mit Excel-Dateien, die eine einfache Integration in Ihre Python-Projekte ermöglicht.
Unterstützung für mehrere Formate: IronXL unterstützt verschiedene Excel-Dateiformate, einschließlich XLS, XLSX, CSV und TSV.
Zellenformatierung: Sie können Zellen mit verschiedenen Schriftarten, Größen, Hintergründen, Rahmen und Zahlenformaten gestalten.
Formelverarbeitung: IronXL kann mit Excel-Formeln arbeiten und sie jedes Mal neu berechnen, wenn ein Blatt bearbeitet wird.
Plattformübergreifende Kompatibilität: IronXL funktioniert auf Windows, macOS, Linux, Docker, Azure und AWS.
Was ist python-docx?
python-docx ist eine Python-Bibliothek, die Microsoft Word-Dokumente wie `.docx`-Dateien erstellt, ändert und damit arbeitet. Es bietet eine einfache API zur Interaktion mit Word-Dokumenten, die es ermöglicht, Aufgaben wie das Hinzufügen von Text, Formatierungen, das Einfügen von Tabellen und Bildern und mehr durchzuführen.
Wesentliche Merkmale
1. Dokumente erstellen
Sie können Word-Dokumente von Grund auf neu erstellen und Inhalte hinzufügen, einschließlich Absätzen, Tabellen, Überschriften und mehr. Dieses Paket kann auch verwendet werden, um einzelne Dokumente zu bearbeiten.
2. Textmanipulation
Absätze von Text hinzufügen und ändern. Text formatieren(z. B., fett, kursiv, unterstrichen, usw.)mit "runs"(Teile des Textes mit unterschiedlichen Stilen innerhalb eines Absatzes). Fügen Sie Überschriften verschiedener Ebenen hinzu und gestalten Sie sie.
3. Hinzufügen von Tabellen
Erstellen Sie Tabellen mit einer bestimmten Anzahl von Zeilen und Spalten. Zugriff auf einzelne Zellen einer Tabelle und deren Bearbeitung.
4. Listen
Erstellen Sie Aufzählungs- oder nummerierte Listen mit vordefinierten Styles.
5. Arbeiten mit Stilen
Wenden Sie vordefinierte Stile wie "Überschrift 1", "Normal" usw. an. Sie können auch benutzerdefinierte Stile für Absätze oder Text definieren und anwenden.
6. Bilder einfügen
Fügen Sie Bilder an bestimmten Stellen in das Dokument ein. Sie können Bilder durch die Angabe von Breite und Höhe skalieren.
Voraussetzungen
Bevor wir in den Code eintauchen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:
Python installiert: Stellen Sie sicher, dass Python auf Ihrem Computer installiert ist. Sie können es von der offiziellen Python-Website herunterladen.website.
IronXL installiert: Sie müssen das IronXL-Paket installieren. Sie können dies mit pip tun.
python-docx installiert: Sie müssen das python-docx-Paket installieren. Sie können dies mit pip tun.
Excel-Datei: Erstellen Sie eine Beispieldatei mit Daten.
Schritt 1: Erstellen Sie eine Python-Datei mit dem Namen excelToWord.py
Öffnen Sie Ihre bevorzugte IDE, wie Visual Studio Code, und erstellen Sie eine Datei namens excelToWord.py.
Schritt 2: IronXL-Paket hinzufügen
Verwenden Sie Pip, um die Pakete IronXL und python-docx zu installieren.
pip install IronXL python-docx
Schritt 3: Erstellen oder Fügen Sie eine Excel-Datei zum Projektordner hinzu
Kopieren Sie die Beispiel-Excel-Datei in den Code-Ordner. Die Datei enthält die untenstehenden Daten.
Schritt 4: Lesen Sie das Excel-Dokument mit IronXL
Verwenden Sie IronXL, um das Excel-Dokument zu laden und alle Zellen mit dem untenstehenden Code zu lesen.
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)
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
Schritt 5: Erstellen Sie ein Word-Dokument und fügen Sie Excel-Daten mit python-docx ein.
Der Prozess der Word-Dokumentenerstellung umfasst das Erstellen eines Word-Dokuments, das aus vorherigen Excel-Daten gelesen wird.
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")
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
Der vollständige Code zur Erstellung von Word-Dokumenten ist hier.
# 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
# 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
Code Erläuterung
Dieses Python-Skript führt zwei Hauptaufgaben aus.
1. Lesen von Daten aus einer Excel-Datei mit IronXL
Das Skript beginnt mit der Einrichtung einer Lizenz für die IronXL-Bibliothek, die zur Verarbeitung von Excel-Dateien in Python verwendet wird.
Es lädt dann eine Excel-Datei(sample.xlsx)und wählt das erste Arbeitsblatt aus der Datei.
Das Skript liest die Daten aus dem Arbeitsblatt und iteriert durch alle Zeilen und Spalten. Es sammelt die Werte aus jeder Zelle in einer 2D-Liste.(daten), wobei jede Zeile im Excel-Blatt einer Unterliste innerhalb der Daten entspricht.
Die Werte der Zellen werden beim Lesen auf die Konsole ausgegeben.
2. Erstellen eines Word-Dokuments mit python-docx
Ein neues Word-Dokument wird mit der python-docx-Bibliothek erstellt.
Das Skript fügt einen Titel hinzu("Excel-Datenexport mit Python Docx")am Anfang des Dokuments mit einer Überschrift.
Anschließend wird eine Tabelle im Dokument erstellt, wobei die erste Zeile der Tabelle die Überschriften aus der ersten Zeile des Excel-Blatts enthält und die nachfolgenden Zeilen die entsprechenden Daten aus der Excel-Datei enthalten.
Schließlich wird das Word-Dokument als sample.docx gespeichert.
Das Skript liest Daten aus einer Excel-Datei.(sample.xlsx), verarbeitet es und exportiert die Daten in eine Tabelle in einem neuen Word-Dokument(sample.docx). Die erste Zeile des Excel-Blattes wird als Tabellenüberschrift verwendet, und jede Datenzeile aus dem Excel-Blatt wird dem Word-Dokument als eine Zeile in der Tabelle hinzugefügt.
Ausgabe
Word-Datei
IronXL-Lizenz (Testversion verfügbar)
IronXL arbeitet mit einer gültigen Lizenzdatei, die dem Code beigefügt ist. Benutzer können einfach eine Testlizenz von der lizenzseite.
Um die Lizenz zu verwenden, platzieren Sie die Lizenz wie unten angegeben im Code, bevor Sie die IronXL-Bibliothek verwenden.
ironxl.License.LicenseKey = "Your License Key"
ironxl.License.LicenseKey = "Your License Key"
PYTHON
Schlussfolgerung
Der Beispielcode zeigt eine effektive Methode, um Daten aus einer Excel-Datei mit IronXL zu lesen und diese Daten anschließend in ein Word-Dokument mit python-docx zu exportieren. Das Verfahren umfasst zwei Hauptschritte:
Extrahieren von Daten aus Excel: Das Skript lädt eine Excel-Datei und extrahiert die Daten aus ihrem ersten Arbeitsblatt. Es durchläuft die Zeilen und Spalten, um Zellwerte in einer Liste zu sammeln, die leicht bearbeitet oder gespeichert werden kann.
Erstellen und Befüllen eines Word-Dokuments: Mithilfe der python-docx-Bibliothek erstellt das Skript ein neues Word-Dokument, fügt einen Titel hinzu und formatiert die extrahierten Excel-Daten in eine Tabelle im Word-Dokument. Es platziert automatisch die erste Zeile der Excel-Daten als Kopfzeilen und die übrigen Zeilen als Tabellendaten.
Dieser Ansatz ermöglicht einen nahtlosen Datentransfer von Excel zu Word, was für Aufgaben wie Berichtserstellung, Datenexporte oder Dokumentenautomatisierung nützlich sein kann. Die Kombination von IronXL für die Bearbeitung von Excel-Dateien und python-docx für die Erstellung von Word-Dokumenten bietet eine leistungsstarke Lösung zum Arbeiten mit diesen Dateiformaten in Python.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS Wie man eine Excel-Datei in Python erstellt
NÄCHSTES > Wie man in Python ein Arbeitsblatt aus einer Excel-Datei entfernt