Zum Fußzeileninhalt springen
VERWENDUNG VON IRONXL FüR PYTHON

Word-Dokumente aus Exceldaten in Python generieren

Die Erstellung von Word-Vorlagen aus Excel-Tabellen mithilfe von Python bietet zahlreiche Vorteile, die die Effizienz, Genauigkeit und Präsentation in verschiedenen beruflichen und privaten Kontexten deutlich verbessern können. Durch den Einsatz von Automatisierung, Anpassungsmöglichkeiten und Datenintegrität können Fachleute sicherstellen, dass ihre Word-Dokumente effektive Kommunikationsmittel sind, die wesentliche Informationen klar und präzise 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 beschreibt die notwendigen Schritte zur Erstellung von Word-Dokumenten aus Excel-Dateien.

Wie man in Python ein Word-Dokument aus Excel-Daten generiert

  1. Erstellen Sie eine Python-Datei namens excelToWord.py .
  2. Installieren Sie die Pakete IronXL und python-docx.
  3. Erstellen oder fügen Sie eine Excel-Datei zum Projektordner hinzu.
  4. Lesen Sie Excel-Dokumente mit IronXL.
  5. Erstellen Sie ein Word-Dokument und fügen Sie Excel-Daten mithilfe von python-docx ein.

Was ist IronXL?

IronXL für Python ist eine robuste 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 der wichtigsten Merkmale und Vorteile von IronXL:

Wichtige Merkmale

  1. Keine Excel-Abhängigkeit : IronXL erfordert keine Installation von Microsoft Excel auf Ihrem Server und ist daher ideal für Serverumgebungen ohne Excel geeignet.
  2. Intuitive API : IronXL bietet eine natürliche und intuitive API für die Arbeit mit Excel-Dateien, wodurch die Integration in Ihre Python-Projekte vereinfacht wird.
  3. Unterstützung mehrerer Formate : IronXL unterstützt verschiedene Excel-Dateiformate, darunter XLS, XLSX, CSV und TSV.
  4. Zellengestaltung : Sie können Zellen mit verschiedenen Schriftarten, Größen, Hintergründen, Rahmen und Zahlenformaten gestalten.
  5. Formelverarbeitung : IronXL kann mit Excel-Formeln arbeiten und diese bei jeder Bearbeitung eines Tabellenblatts neu berechnen.
  6. Plattformübergreifende Kompatibilität : IronXL funktioniert unter 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 mit ihnen arbeitet. Es bietet eine einfache API zur Interaktion mit Word-Dokumenten, mit der Sie Aufgaben wie das Hinzufügen von Text, Formatieren, Einfügen von Tabellen und Bildern und vieles mehr durchführen können.

Hauptmerkmale

1. Dokumente erstellen

Sie können Word-Dokumente von Grund auf neu erstellen und Inhalte hinzufügen, darunter Absätze, Tabellen, Überschriften und vieles mehr. Dieses Paket kann auch zum Bearbeiten einzelner Dokumente verwendet werden.

2. Textmanipulation

Texteinträge hinzufügen und bearbeiten. Text formatieren (z. B. fett, kursiv, unterstrichen usw.) mithilfe von "Abschnitten" (Textteile mit unterschiedlichen Stilen innerhalb eines Absatzes). Überschriften verschiedener Ebenen hinzufügen und formatieren.

3. Tabellen hinzufügen

Erstellen Sie Tabellen mit einer festgelegten Anzahl von Zeilen und Spalten. Einzelne Zellen in einer Tabelle aufrufen und bearbeiten.

4. Lists

Erstellen Sie Aufzählungs- oder nummerierte Listen mit vordefinierten Formatvorlagen.

5. Arbeiten mit Stilen

Wenden Sie vordefinierte Stile wie "Überschrift 1", "Normal" usw. an. Sie können auch benutzerdefinierte Stile definieren und auf Absätze oder Text anwenden.

6. Einfügen von Bildern

Fügen Sie Bilder an bestimmten Stellen in das Dokument ein. Sie können die Größe von Bildern ändern, indem Sie deren Breite und Höhe angeben.

Voraussetzungen

Bevor wir uns mit dem Code befassen, stellen Sie bitte 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. Das geht mit pip.
  3. python-docx installiert : Sie müssen das Paket python-docx installieren. Das geht mit pip.
  4. Excel-Datei : Erstellen Sie eine Beispiel-Excel-Datei mit Daten.

Schritt 1: Erstellen Sie eine Python-Datei namens 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-Dokumentgenerierung

Schritt 2: IronXL- und python-docx-Pakete hinzufügen

Verwenden Sie Pip, um die Pakete IronXL und python-docx zu installieren.

pip install IronXL python-docx
pip install IronXL python-docx
SHELL

Schritt 3: Erstellen oder Hinzufügen einer Excel-Datei zum Projektordner

Kopieren Sie die Excel-Beispieldatei in Ihren Codeordner. Die Datei enthält die folgenden Daten.

So erstellen Sie ein Word-Dokument aus Excel-Daten in Python: Abbildung 2 – Beispiel-Excel

Schritt 4: Lesen Sie das Excel-Dokument mit IronXL

Laden Sie mit IronXL das Excel-Dokument und lesen Sie alle Zellen mithilfe des unten stehenden Codes.

import ironxl
# Import Document class from python-docx to work with Word documents
from docx import Document

# Set the License Key for IronXL (replace 'your license' with your actual license key)
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook and select the first worksheet
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
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)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)
import ironxl
# Import Document class from python-docx to work with Word documents
from docx import Document

# Set the License Key for IronXL (replace 'your license' with your actual license key)
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook and select the first worksheet
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
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)  # Print each 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 mithilfe von python-docx ein.

Der Prozess der Word-Dokumentgenerierung umfasst das Erstellen eines Word-Dokuments und das Einfügen von Daten, die aus der Excel-Datei gelesen wurden.

# Create a new Word document
doc = Document()

# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table with headers (first row of Excel data)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
# Populate header cells with data
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)

# Populate table with data from Excel
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)

# Save the generated Word document
doc.save("sample.docx")
# Create a new Word document
doc = Document()

# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table with headers (first row of Excel data)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
# Populate header cells with data
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)

# Populate table with data from Excel
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)

# Save the generated Word document
doc.save("sample.docx")
PYTHON

Vollständiger Code zum Generieren von Word-Dokumenten

# Import required libraries
import ironxl
from docx import Document

# Set the License Key for IronXL
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
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)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)

# Document generation process
# Create a new Word document
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table in the Word document
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)

# Save the Word document
doc.save("sample.docx")
# Import required libraries
import ironxl
from docx import Document

# Set the License Key for IronXL
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
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)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)

# Document generation process
# Create a new Word document
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table in the Word document
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)

# Save the Word document
doc.save("sample.docx")
PYTHON

Code-Erklärung

Dieses Python-Skript erfüllt zwei Hauptaufgaben.

1. 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. Anschließend 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 durchläuft dabei alle Zeilen und Spalten. Es sammelt die Werte aus jeder Zelle in einer 2D-Liste (Daten), wobei jede Zeile im Excel-Arbeitsblatt einer Unterliste innerhalb der Daten entspricht.
  • Die Werte der Zellen werden beim Einlesen in der Konsole ausgegeben.

2. Erstellen eines Word-Dokuments mit python-docx

  • Mit Hilfe der Python-Docx -Bibliothek wird ein neues Word-Dokument erstellt.
  • Das Skript fügt oben im Dokument eine Überschrift hinzu ("Excel-Datenexport mit Python Docx"). Anschließend wird im Dokument eine Tabelle erstellt, deren erste Zeile die Überschriften aus der ersten Zeile des Excel-Arbeitsblatts enthält und deren nachfolgende 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-Arbeitsblatts dient als Tabellenüberschrift, und jede Datenzeile aus dem Excel-Arbeitsblatt wird als Zeile in die Tabelle des Word-Dokuments eingefü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-Dokumentformat

IronXL-Lizenz (Testversion verfügbar)

IronXL funktioniert nur mit einer gültigen Lizenzdatei, die dem Code beigefügt ist. Nutzer können sich ganz einfach über die Lizenzseite eine Testlizenz besorgen.

Um die Lizenz zu verwenden, fügen Sie den Lizenzschlüssel vor der Verwendung der IronXL-Bibliothek an einer geeigneten Stelle im Code ein, wie unten beschrieben.

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

Abschluss

Der Beispielcode demonstriert eine effektive Methode, um Daten aus einer Excel-Datei mit IronXL zu lesen und diese Daten anschließend mit python-docx in ein Word-Dokument zu exportieren. Der Prozess umfasst zwei Hauptschritte:

  1. Daten aus Excel extrahieren : Das Skript lädt eine Excel-Datei und extrahiert die Daten aus dem ersten Arbeitsblatt. Es durchläuft die Zeilen und Spalten, um die Zellwerte in einer Liste zu sammeln, die dann einfach bearbeitet oder gespeichert werden kann.
  2. Erstellen und Befüllen eines Word-Dokuments : Mithilfe der Bibliothek python-docx erstellt das Skript ein neues Word-Dokument, fügt einen Titel hinzu und formatiert die extrahierten Excel-Daten in eine Tabelle innerhalb des Word-Dokuments. Die erste Zeile der Excel-Daten wird automatisch als Überschriften und die restlichen Zeilen als Tabellendaten eingefügt.

Dieser Ansatz ermöglicht einen nahtlosen Datentransfer von Excel nach Word, was für Aufgaben wie die Berichtserstellung, den Datenexport oder die Dokumentenautomatisierung nützlich sein kann. Die Kombination aus 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.

Häufig gestellte Fragen

Wie kann ich Excel-Daten in ein Word-Dokument mit Python konvertieren?

Sie können Excel-Daten in ein Word-Dokument mit Python konvertieren, indem Sie die IronXL-Bibliothek verwenden, um Excel-Dateien zu lesen und zu verarbeiten, und dann die python-docx-Bibliothek verwenden, um ein Word-Dokument zu erstellen und zu befüllen.

Was sind die Vorteile der gemeinsamen Verwendung von IronXL und python-docx?

Die Kombination von IronXL und python-docx ermöglicht eine nahtlose Integration und Automatisierung von Excel zu Word-Dokumentkonvertierungen. IronXL bietet Funktionen wie das Lesen und Bearbeiten von Excel-Dateien, ohne dass Microsoft Excel benötigt wird, während python-docx eine einfache API zum Bearbeiten von Word-Dokumenten bereitstellt.

Wie liest man eine Excel-Datei in Python ohne installiertes Microsoft Excel?

Sie können eine Excel-Datei in Python ohne installiertes Microsoft Excel lesen, indem Sie die IronXL-Bibliothek verwenden. IronXL ermöglicht es Ihnen, Excel-Dateien zu laden und deren Daten programmatisch zuzugreifen.

Was ist der Prozess, um ein Word-Dokument aus Excel-Daten zu erstellen?

Der Prozess umfasst die Verwendung von IronXL, um Daten aus einer Excel-Datei zu lesen, und dann python-docx, um ein Word-Dokument zu erstellen, in dem die Excel-Daten in Tabellen oder Textblöcke eingefügt werden.

Kann IronXL mit mehreren Excel-Dateiformaten arbeiten?

Ja, IronXL unterstützt mehrere Excel-Dateiformate wie XLS, XLSX und CSV, was Flexibilität bei der Handhabung verschiedener Arten von Excel-Dateien bietet.

Wie kann ich IronXL und python-docx in meiner Python-Umgebung installieren?

Sie können IronXL und python-docx in Ihrer Python-Umgebung mit dem Befehl installieren: pip install IronXL python-docx.

Was sind die Vorteile der Automatisierung von Excel zu Word-Dokumentkonvertierungen?

Die Automatisierung von Excel zu Word-Dokumentkonvertierungen kann die Effizienz, Genauigkeit und Präsentation verbessern, indem manuelle Aufgaben reduziert, Fehler minimiert und eine konsistente Formatierung und Datenintegrität über Dokumente hinweg ermöglicht.

Wie gestaltet man Excel-Zellen mit IronXL?

IronXL bietet Funktionen, um Excel-Zellen zu gestalten, sodass Sie das Erscheinungsbild von Zellen anpassen können, wie z. B. das Festlegen von Schriftarten, Farben und Rändern, was nützlich für die Formatierung vor dem Übertragen von Daten nach Word sein kann.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen