Wie man XLSX-Dateien mit Python schreibt | Spire.XLS

2025-06-30 06:00:51 zaki zou

Installation über NuGet

PM> Install-Package Spire.XLS

Verwandte Links

Das effiziente Schreiben von Excel-Dateien ist in Python-basierten Arbeitsabläufen für Datenanalyse, Berichterstattung und Automatisierung unerlässlich. Unter den vielen verfügbaren Bibliotheken sticht Spire.XLS for Python als leistungsstarke, von Excel unabhängige Lösung hervor, die komplexe Funktionen wie Diagramme, Formeln, bedingte Formatierung, Verschlüsselung und die Verarbeitung großer Datenmengen unterstützt.

Diese Anleitung zeigt, wie man mit Spire.XLS for Python XLSX-Dateien mit Python schreibt. Dabei werden Details vom einfachen Schreiben bis zur erweiterten Formatierung behandelt – und das alles mit einer zuverlässigen und unternehmenstauglichen Excel-Bibliothek.

XLSX-Dateien mit Python-Code schreiben

Wie man XLSX-Dateien mit Spire.XLS for Python schreibt

Warum Spire.XLS for Python verwenden?

Spire.XLS for Python ist eine funktionsreiche Bibliothek, die es Entwicklern ermöglicht, Excel-Dateien zu lesen, zu schreiben und zu bearbeiten, ohne dass Microsoft Office erforderlich ist. Sie ist auf Leistung und Flexibilität ausgelegt und eignet sich daher ideal für Automatisierungsaufgaben und umfangreiche Berichterstattungen.

Wichtige Vorteile:

  • All-in-One-API: Lesen/Schreiben von .xls und .xlsx, Formatieren von Zellen, Einfügen von Formeln, Konvertieren von Dateien und mehr.
  • Plattformübergreifende Unterstützung: Verfügbar für .NET, Java, Python und kompatibel mit cloud-basierten Umgebungen.
  • Erweiterte Excel-Funktionen: Unterstützt Diagramme, Pivot-Tabellen, bedingte Formatierung und Schutz.
  • Zuverlässige Dokumentation & Support: Umfangreiche API-Referenz, Tutorials, Entwicklerforum und Support-Team.
  • Kostenlose Edition verfügbar: Ideal für die einfache Verarbeitung von Excel-Dateien ohne Lizenzkosten.

Installation von Spire.XLS for Python

Sie können je nach Ihren Anforderungen entweder die Vollversion oder die kostenlose Version von Spire.XLS installieren.

Vollversion:

pip install spire.xls

Kostenlose Version (für kleinere Dateien und grundlegende Anwendungsfälle):

pip install spire.xls.free

Grundlegende Schritte zum Schreiben von XLSX-Dateien

Um mit Python in Excel-Dateien zu schreiben, befolgen Sie diese grundlegenden Schritte:

  • Erstellen Sie eine neue Excel-Arbeitsmappe über den Workbook()-Konstruktor.
  • Laden Sie eine vorhandene XLSX-Datei (optional) mit der Methode Workbook.LoadFromFile().
  • Fügen Sie ein Arbeitsblatt mit der Methode Workbook.Worksheets.Add() hinzu oder rufen Sie es mit der Methode get_Item() ab.
  • Greifen Sie über die Methode Worksheet.Range.get_Item() auf Zellen zu.
  • Schreiben Sie Daten mithilfe von Eigenschaften der Klasse CellRange, wie z. B. Value, Text, NumberValue usw.
  • Speichern Sie die Arbeitsmappe mit der Methode Workbook.SaveToFile().

Beispielcode für das grundlegende Schreiben von XLSX-Dateien

  • Python
from spire.xls import Workbook, ExcelVersion

# Erstellen Sie ein Workbook-Objekt
workbook = Workbook()

# Rufen Sie das erste Standardarbeitsblatt ab
sheet = workbook.Worksheets.get_Item(0)

# Schreiben Sie eine Zeichenfolge in die Zelle B2
sheet.Range.get_Item(2, 2).Text = "Hallo Welt!"

# Speichern Sie die Arbeitsmappe
workbook.SaveToFile("output/BasicWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Die Ausgabe-XLSX-Datei:

Eine einfache XLSX-Datei mit Python schreiben

Verschiedene Datentypen mit Python in XLSX-Dateien schreiben

Spire.XLS bietet in der Klasse CellRange eine Reihe von Eigenschaften, die das direkte Schreiben verschiedener Datentypen wie Zeichenfolgen, Datums- und Zeitwerte, boolesche Werte und numerische Werte in Excel-Zellen unterstützen. Dies erleichtert Entwicklern das Schreiben typisierter Werte direkt in die Zellen einer XLSX-Datei.

Unterstützte Datentypen und ihre Eigenschaften

Eigenschaft Werttyp Funktion
NumberValue float Setzt einen Zahlenwert
Text str Setzt einfachen Text
DateTimeValue datetime Setzt ein Datum und eine Uhrzeit
BooleanValue bool Setzt einen booleschen Wert
Formula str Fügt eine Formel ein
HtmlString str Fügt HTML-formatierten Text ein
Value str Setzt einen generischen Wert

Codebeispiel – Schreiben verschiedener Datentypen

  • Python
from spire.xls import Workbook, ExcelVersion, DateTime, HorizontalAlignType, Stream, ImageFormatType

# Erstellen Sie ein Workbook-Objekt
workbook = Workbook()

# Rufen Sie das erste Standardarbeitsblatt ab
sheet = workbook.Worksheets.get_Item(0)

# Schreiben Sie Text in die Zelle B1
sheet.Range.get_Item(1, 2).Text = "Einfacher Text"
# Schreiben Sie eine Zahl in die Zelle B2
sheet.Range.get_Item(2, 2).NumberValue = 123456
sheet.Range.get_Item(2, 2).NumberFormat = "#,##0.00"
# Schreiben Sie ein Datum in die Zelle B3
sheet.Range.get_Item(3, 2).DateTimeValue = DateTime.get_UtcNow()
# Schreiben Sie einen booleschen Wert in die Zelle B4
sheet.Range.get_Item(4, 2).BooleanValue = True
# Schreiben Sie eine Formel in die Zelle B5
sheet.Range.get_Item(5, 2).Formula = "B2/2"
# Schreiben Sie eine HTML-Zeichenfolge in die Zelle B6
sheet.Range.get_Item(6, 2).HtmlString = "<p><span style='color: blue; font-size: 18px;'>Blaue Schriftart 18 Pixel Größe</span></p>"
# Schreiben Sie einen regulären Wert in die Zelle B7
sheet.Range.get_Item(7, 2).Value = "Regulärer Wert"
# Fügen Sie ein Bild in Zelle B8 ein
with open("Logo.png", "rb") as f:
    imageBytes = f.read()
stream = Stream(imageBytes)
sheet.Pictures.Add(8, 2, stream, ImageFormatType.Png)

# Grundlegende Formatierung festlegen
sheet.Range.get_Item(1, 2, 8, 2).HorizontalAlignment = HorizontalAlignType.Left
sheet.AutoFitColumn(2)
for i in range(sheet.Range.Columns.Count):
    for j in range(sheet.Range.Rows.Count):
        sheet.Range.get_Item(j + 1, i + 1).HorizontalAlignment = HorizontalAlignType.Left

# Speichern Sie die Arbeitsmappe in einer XLSX-Datei
workbook.SaveToFile("output/WriteDataExcelCell.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Die Ausgabe-XLSX-Datei:

Verschiedene Datentypen mit Python-Code in eine XLSX-Datei schreiben

Formatierungen und Stile mit Python auf Excel-Zellen anwenden

Die Formatierung spielt eine Schlüsselrolle, um Excel-Berichte klar und professionell zu gestalten. Mit Spire.XLS for Python können Sie das Erscheinungsbild von Zellen mithilfe von Schriftarten, Farben, Ausrichtung, Zahlenformaten und integrierten Stilen anpassen. Diese Werkzeuge verbessern die Lesbarkeit und präsentieren Ihre Daten auf eine ausgefeilte und konsistente Weise – ideal für Berichterstattung und Automatisierung.

Das folgende Codebeispiel zeigt, wie Arbeitsblätter mit Python formatiert werden.

Zellen mit Schriftart, Farbe, Rahmen und Ausrichtung formatieren

  • Python
from spire.xls import Workbook, Color, LineStyleType, BordersLineType, HorizontalAlignType

# Erstellen Sie ein Workbook-Objekt
workbook = Workbook()

# Laden Sie die XLSX-Datei
workbook.LoadFromFile("Sample.xlsx")

# Rufen Sie das erste Arbeitsblatt ab
sheet = workbook.Worksheets.get_Item(0)

# Legen Sie die Schriftstile fest
# Kopfzeile
sheet.Rows.get_Item(0).Style.Font.FontName = "Times New Roman"
sheet.Rows.get_Item(0).Style.Font.Size = 14
sheet.Rows.get_Item(0).Style.Font.IsBold = True
# Datenzeilen
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.Font.FontName = "Arial"
    sheet.Rows.get_Item(i).Style.Font.Size = 12

# Legen Sie die Zellenfarben fest
# Kopfzeile
sheet.Rows.get_Item(0).Style.Color = Color.FromRgb(200, 245, 230)
# Datenzeilen
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.Color = Color.FromRgb(240, 255, 250)

# Legen Sie die Rahmenstile fest
# Kopfzeile
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thick
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).Color = Color.get_White()
# Datenzeilen
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).BorderInside(LineStyleType.Thin, Color.get_Black())

# Legen Sie die Ausrichtung fest
# Kopfzeile
sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center
# Datenzeilen
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left

# Passen Sie die Spaltenbreite automatisch an
for i in range(sheet.Columns.Count):
    sheet.AutoFitColumn(i + 1)

# Speichern Sie die Excel-Datei
workbook.SaveToFile("output/FormatXLSXFile.xlsx")
workbook.Dispose()

Die Ausgabe-XLSX-Datei:

Zellen in XLSX-Dateien mit Python-Code formatieren

Zahlenformate für Zellen festlegen

  • Python
from spire.xls import Workbook, ExcelVersion

# Erstellen Sie eine Workbook-Instanz
workbook = Workbook()

# Rufen Sie das erste Arbeitsblatt ab
sheet = workbook.Worksheets.get_Item(0)

# Formatieren Sie eine Zelle als Zahl
sheet.Range.get_Item(1, 2).NumberValue = 1234567890
sheet.Range.get_Item(1, 2).NumberFormat = "[Red]#,##0;[Green]#,##0"

# Formatieren Sie eine Zelle als Datum
sheet.Range.get_Item(2, 2).NumberValue = 45562
sheet.Range.get_Item(2, 2).NumberFormat = "yyyy-mm-dd"

# Formatieren Sie eine Zelle als Uhrzeit
sheet.Range.get_Item(3, 2).NumberValue = 45562
sheet.Range.get_Item(3, 2).NumberFormat = "hh:mm:ss"

# Formatieren Sie eine Zelle als Währung
sheet.Range.get_Item(4, 2).NumberValue = 1234567890
sheet.Range.get_Item(4, 2).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"

# Formatieren Sie eine Zelle als Prozentsatz
sheet.Range.get_Item(5, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(5, 2).NumberFormat = "0.00%"

# Formatieren Sie eine Zelle als Bruch
sheet.Range.get_Item(6, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(6, 2).NumberFormat = "0.00_ ?"

# Formatieren Sie eine Zelle als wissenschaftliche Zahl
sheet.Range.get_Item(7, 2).NumberValue = 1234567890
sheet.Range.get_Item(7, 2).NumberFormat = "0.00E+00"

# Passen Sie die Spaltenbreite automatisch an
for i in range(sheet.Columns.Count):
    sheet.AutoFitColumn(i + 1)

# Speichern Sie die Excel-Datei
workbook.SaveToFile("output/SetNumberFormat.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Die Ausgabe-XLSX-Datei:

Zahlenformate für Zellen in XLSX-Dateien mit Python festlegen

Integrierte Stile auf Zellen anwenden

  • Python
from spire.xls import Workbook, BuiltInStyles

# Erstellen Sie eine Workbook-Instanz
workbook = Workbook()

# Laden Sie die Excel-Datei
workbook.LoadFromFile("Sample.xlsx")

# Rufen Sie das erste Arbeitsblatt ab
sheet = workbook.Worksheets.get_Item(0)

# Wenden Sie den integrierten Kopfzeilenstil auf die erste Zeile an
sheet.Rows.get_Item(0).BuiltInStyle = BuiltInStyles.Heading2

# Wenden Sie den integrierten Fußzeilenstil auf die Datenzeilen an
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).BuiltInStyle = BuiltInStyles.Accent2_20

# Passen Sie die Spaltenbreite automatisch an
for i in range(sheet.Columns.Count):
    sheet.AutoFitColumn(i + 1)

# Speichern Sie die Excel-Datei
workbook.SaveToFile("output/ApplyBuiltInStyle.xlsx")
workbook.Dispose()

Die Ausgabe-XLSX-Datei:

Integrierte Stile auf XLSX-Dateien mit Python anwenden

Fazit

In dieser Anleitung haben wir untersucht, wie man mit Spire.XLS XLSX-Dateien mit Python schreibt – vom einfachen Schreiben bis zur Formatierung. Ob es um das Erstellen von Berichten, das Automatisieren von Exporten oder das Erstellen datengesteuerter Anwendungen geht, Spire.XLS for Python bietet eine zuverlässige und effiziente Lösung für die Erstellung von Excel-Dateien.

Holen Sie sich eine kostenlose Lizenz

Sie können eine 30-tägige kostenlose Testlizenz für die Vollversion von Spire.XLS for Python anfordern. Damit können Sie während des Testzeitraums alle erweiterten Funktionen ohne Einschränkungen erkunden.

Siehe auch