VERWENDUNG VON IRONXL FOR PYTHON

Generieren von Word-Dokumenten aus Excel-Daten in Python

Chaknith Bin
Chaknith Bin
15. Dezember 2024
Teilen Sie:

Einführung

Die Erstellung von Word-Vorlagen aus Excel-Tabellen mit Python bietet zahlreiche Vorteile, die Effizienz, Genauigkeit und Präsentation in verschiedenen beruflichen und persönlichen 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 Microsoft Excel in Microsoft Word konvertieren kann, ist das IronXL-Python-Paket von Iron Software und die python-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

  1. Erstellen Sie eine Python-Datei mit dem Namen excelToWord.py.

  2. Fügen Sie die Pakete IronXL und python-docx hinzu.

  3. Erstellen oder fügen Sie eine Excel-Datei zum Projektordner hinzu.

  4. Excel-Dokumente mit IronXL lesen.

  5. Erstellen Sie ein Word-Dokument und fügen Sie Excel-Daten mit python-docx ein.

Was ist IronXL?

IronXL for Python ist eine leistungsstarke Bibliothek, die von Iron Software entwickelt wurde und es Entwicklern ermöglicht, Excel-Dateien (XLS, XLSX und CSV) in Python-Projekten zu erstellen, zu lesen und zu bearbeiten. Hier sind einige wichtige Funktionen und Vorteile der Verwendung von IronXL:

Wesentliche Merkmale

  1. Keine Excel-Abhängigkeit: IronXL erfordert nicht die Installation von Microsoft Excel auf Ihrem Server, was es ideal für Serverumgebungen ohne Excel macht.

  2. Intuitive API: IronXL bietet eine natürliche und intuitive API zum Arbeiten mit Excel-Dateien, die es einfach macht, in Ihre Python-Projekte zu integrieren.

  3. Unterstützung für mehrere Formate: IronXL unterstützt verschiedene Excel-Dateiformate, einschließlich XLS, XLSX, CSV und TSV.

  4. Zellformatierung: Sie können Zellen mit verschiedenen Schriftarten, Größen, Hintergründen, Rahmen und Zahlenformaten gestalten.

  5. Formelverarbeitung: IronXL kann mit Excel-Formeln arbeiten und sie neu berechnen, sobald ein Blatt bearbeitet wird.

  6. 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, bearbeitet 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. Formatieren Sie Text (z. B. fett, kursiv, unterstrichen, usw.) mithilfe von "Runs" (Teile von Text mit unterschiedlichen Stilen innerhalb eines Absatzes). Fügen Sie Überschriften verschiedener Ebenen hinzu und gestalten Sie sie.

3. Tabellen hinzufügen

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. Einfügen von Bildern

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:

  1. Python installiert: Stellen Sie sicher, dass Python auf Ihrem Rechner installiert ist. Sie können es von der offiziellen Python-Website herunterladen.

  2. IronXL installiert: Sie müssen das IronXL-Paket installieren. Sie können dies mit pip tun.

  3. python-docx installiert: Sie müssen das python-docx-Paket installieren. Sie können dies mit pip tun.

  4. Excel-Datei: Erstellen Sie eine Beispiel-Excel-Datei 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.

So erstellen Sie ein Word-Dokument aus Excel-Daten in Python: Abbildung 1 - Excel-Dokumentenerstellung

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.

Wie man ein Word-Dokument aus Excel-Daten in Python generiert: Abbildung 2 - Beispiel Excel

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)
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")
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
PYTHON

Code Erläuterung

Dieses Python-Skript führt zwei Hauptaufgaben aus.

Daten aus einer Excel-Datei mit IronXL lesen

  • Das Skript beginnt mit der Einrichtung einer Lizenz für die IronXL-Bibliothek, die zur Verarbeitung von Excel-Dateien in Python verwendet wird.
  • Dann wird eine Excel-Datei (sample.xlsx) geladen und das erste Arbeitsblatt aus der Datei ausgewählt.
  • 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 ("Excel-Datenexport mit Python Docx") oben im Dokument mit einer Überschrift hinzu.
  • Es erstellt dann eine Tabelle im Dokument, 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 sie 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

So erstellen Sie ein Word-Dokument aus Excel-Daten in Python: Abbildung 3 - Excel zu Word

Word-Datei

So erstellen Sie ein Word-Dokument aus Excel-Daten in Python: Abbildung 4 - Word-Dokument-Format

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 erhalten.

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"
PYTHON

Schlussfolgerung

Der Beispielcode demonstriert eine effektive Methode, um Daten aus einer Excel-Datei mit IronXL zu lesen und diese Daten dann mithilfe von python-docx in ein Word-Dokument zu exportieren. Das Verfahren umfasst zwei Hauptschritte:

  1. Daten aus Excel extrahieren: 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.

  2. 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 zu einer 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 Excel-Bearbeitung und python-docx für die Erstellung von Word-Dokumenten bietet eine leistungsstarke Lösung für die Arbeit mit diesen Dateiformaten in Python.

Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.
< PREVIOUS
Wie man eine Excel-Datei in Python erstellt
NÄCHSTES >
Wie man in Python ein Arbeitsblatt aus einer Excel-Datei entfernt

Sind Sie bereit, loszulegen? Version: 2025.4 gerade veröffentlicht

Lizenzen anzeigen >