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

- Wie man XLSX-Dateien mit Spire.XLS for Python schreibt
- Verschiedene Datentypen mit Python in XLSX-Dateien schreiben
- Formatierungen und Stile mit Python auf Excel-Zellen anwenden
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:

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:

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:

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:

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:

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.