Zum Fußzeileninhalt springen
MIT ANDEREN KOMPONENTEN VERGLEICHEN

Ein Vergleich zwischen OpenpyXL Python & IronXL für Python

In diesem Artikel werden wir zwei weit verbreitete Python-Bibliotheken zur Verwaltung von Excel-Tabellenkalkulationsdateien besprechen: IronXL und OpenPyXL. Diese Bibliotheken sind wichtig für Python-Entwickler, die Excel-Dateidokumente bearbeiten, analysieren oder erstellen müssen. Jede Bibliothek bietet einzigartige Funktionen, die die Bearbeitung von Excel-Dateien effektiver und effizienter gestalten.

IronXL und OpenPyXL bieten Entwicklern die Möglichkeit, Tabellenkalkulationsvorgänge zu automatisieren, Excel-Tabellenzellen zu bearbeiten und Beispieldaten zu extrahieren. Sie unterstützen außerdem erweiterte Funktionen wie das Erstellen von Formeln, das Formatieren von Zellen und die nahtlose Verarbeitung großer Datensätze. Dadurch wird sichergestellt, dass Anwendungen Excel-Dateien in verschiedenen Umgebungen effizient verwalten können, ohne Kompromisse bei Leistung oder Kompatibilität einzugehen.

In diesem Vergleich werden wir die Besonderheiten jeder Bibliothek und ihre Funktionsweise untersuchen. Wir werden auch auf die Lizenzdetails eingehen. Betrachten wir die Unterschiede und Funktionen von IronXL und OpenPyXL, wobei der Fokus auf klaren und nützlichen Informationen für Entwickler liegt.

1. OpenPyXL-Bibliothek

OpenPyXL ist eine Python-Bibliothek, die speziell für die Verarbeitung von Excel-Dateien im XLSX-Format entwickelt wurde. Die Bibliothek ermöglicht es Entwicklern, Excel-Dateien zu lesen, zu schreiben und zu bearbeiten. Das OpenPyXL-Modul unterstützt eine Vielzahl von Excel-Funktionen, darunter Datenmanipulation, Formatierung und erweiterte Funktionen wie Diagramme und Pivot-Tabellen.

1.1 Hauptmerkmale von OpenPyXL

1.1.1 Tabellenkalkulationsverwaltung

OpenPyXL eignet sich hervorragend zum Erstellen und Bearbeiten von Arbeitsmappen. Es ermöglicht Ihnen, mit einer leeren Arbeitsmappe zu beginnen oder eine bestehende zu bearbeiten, Blätter hinzuzufügen oder zu entfernen und einfach durch die Blätter zu navigieren. Dadurch eignet es sich perfekt für Aufgaben, die von der Berichtserstellung bis zur Automatisierung der Dateneingabe reichen.

1.1.2 Datenmanipulation

Diese Bibliothek unterstützt erweiterte Datenverarbeitungsfunktionen wie das Anhängen von Zeilen, das Einfügen von Formeln und das Anwenden von Stilen auf das aktive Tabellenblatt. Sie können große Datensätze bearbeiten, indem Sie Zellenwerte programmatisch festlegen, was Aufgaben wie Datenanalyse und Berichtserstellung vereinfacht.

1.1.3 Gestaltung und Formatierung

Mit OpenPyXL können Sie Zellformatierungen wie Schriftarten, Farben und Rahmen anwenden. Es unterstützt außerdem bedingte Formatierung und das Festlegen von Zelleneigenschaften wie der Ausrichtung, was für die Erstellung professionell gestalteter Excel-Berichte unerlässlich ist.

1.1.4 Diagramme und Abbildungen

OpenPyXL kann Tabellenkalkulationen um grafische Elemente ergänzen. Sie können Diagramme einfügen, um Daten zu visualisieren, und sogar Bilder hinzufügen, um die Präsentation der Informationen zu verbessern. Diese Funktion ist besonders nützlich für die Erstellung von Dashboards und komplexen Berichten.

1.1.5 Formel- und Funktionsintegration

Die Bibliothek ermöglicht die Integration von Excel-Formeln in Zellen und somit automatisierte Berechnungen innerhalb von Tabellenkalkulationen. Außerdem unterstützt es die Erstellung benannter Bereiche, was bei der Organisation von Daten und der Erstellung übersichtlicherer und wartungsfreundlicherer Tabellen sehr hilfreich sein kann.

1.1.6 Datenvalidierung und -automatisierung

OpenPyXL bietet Werkzeuge zur Datenvalidierung und -sortierung, die für die Aufrechterhaltung der Datenintegrität und die effektive Organisation von Informationen unerlässlich sind. Es bietet außerdem Funktionen zum Filtern von Daten, wodurch die Verwaltung großer Datenmengen in Excel-Dateien erleichtert wird.

1.1.7 Open Source

Als Open-Source-Bibliothek profitiert OpenPyXL von den kontinuierlichen Beiträgen einer lebendigen Community, wodurch sichergestellt wird, dass sie relevant und funktionsreich bleibt. Durch dieses Engagement der Community steht Entwicklern, die die Bibliothek nutzen, ein riesiger Pool an Ressourcen und Unterstützung zur Verfügung.

2. IronXL-Bibliothek

IronXL ist eine robuste Python-Bibliothek, die zur Bearbeitung von Excel-Dateien entwickelt wurde, ohne dass Microsoft Excel benötigt wird. Es wird wegen seiner Einfachheit und Effektivität bei der direkten Bearbeitung verschiedener Excel-Aufgaben innerhalb von Python-Umgebungen bevorzugt.

2.1 Hauptmerkmale von IronXL

2.1.1 Arbeitsmappenverwaltung

IronXL vereinfacht unter anderem das Erstellen, Laden und Speichern von Excel-Formaten wie XLS, XLSX und CSV. Es gewährleistet Kompatibilität mit verschiedenen Excel-Versionen und bietet umfassende Funktionen zur programmatischen Verwaltung von Excel-Daten.

2.1.2 Datenmanipulation

Mit IronXL können Sie Daten effizient sortieren, Zeilen und Spalten verwalten und die Zellformatierung anpassen. Dies umfasst das Einrichten von Datentypen und Formeln sowie die Implementierung von Excel-Funktionen innerhalb von Zellen.

2.1.3 Erweiterte Formatierung

IronXL bietet umfangreiche Gestaltungsmöglichkeiten für Zellen , darunter die Festlegung von Schriftarten, Rahmen und Hintergrundfarben. Es unterstützt erweiterte Excel-Funktionen wie bedingte Formatierung und das Festlegen von Druckoptionen für Arbeitsblätter und verbessert so die Lesbarkeit und Präsentation Ihrer Excel-Berichte.

2.1.4 Sicherheitsmerkmale

Die Bibliothek unterstützt die Bearbeitung von Metadaten, die Verwaltung von Berechtigungen und den Passwortschutz von Dateien, wodurch sichergestellt wird, dass sensible Daten geschützt sind.

2.1.5 Plattformübergreifende Unterstützung

IronXL ist so konzipiert, dass es auf verschiedenen Betriebssystemen wie Windows, macOS und Linux funktioniert und Entwicklern somit ermöglicht, ihre Anwendungen auf unterschiedlichen Plattformen ohne Kompatibilitätsprobleme bereitzustellen.

2.1.6 Tabellenblatt- und Zellbereichsoperationen

IronXL bietet robuste Funktionen für die Bearbeitung von Tabellenbereichen und einzelnen Zellen. Zellbereiche lassen sich einfach zusammenführen, kopieren und bearbeiten. Diese Funktion vereinfacht die Verwaltung komplexer Datenstrukturen.

2.1.7 Integration mit Datensystemen

IronXL lässt sich nahtlos in Datenbanken und Datenquellen integrieren. Es unterstützt den Import und Export von Daten in und aus Excel-Dateien. Diese Funktion ist unerlässlich für Anwendungen, die dynamische Datenberichte und -analysen benötigen.

3. Projekt in Visual Studio Code einrichten

Um mit dem Testen der IronXL- und OpenPyXL-Bibliotheken zu beginnen, müssen wir ein Projekt in Visual Studio Code einrichten, das speziell für die Python-Entwicklung zugeschnitten ist.

3.1 Voraussetzungen

Bevor wir beginnen, stellen Sie sicher, dass Visual Studio Code auf Ihrem Computer installiert ist. Außerdem muss Python installiert sein, zusammen mit der Python-Erweiterung für Visual Studio Code. Diese Erweiterung kann direkt über die Erweiterungsansicht in Visual Studio Code hinzugefügt werden.

3.2 Projektkonfiguration

Erstellen Sie zunächst einen neuen Ordner auf Ihrem System, der als Arbeitsbereich für Ihr Projekt dienen soll. Das geht ganz einfach über die Option "Ordner öffnen" im Menü "Datei" von VS Code.

3.3 Umgebungseinrichtung

Innerhalb von Visual Studio Code empfiehlt es sich, eine virtuelle Umgebung einzurichten, um Abhängigkeiten sauber zu verwalten. Dies können Sie über das integrierte Terminal in Visual Studio Code tun. Visual Studio Code bietet in der Python-Erweiterung ebenfalls eine Schnittstelle, um diesen Prozess zu vereinfachen. Mithilfe der Befehlspalette der Python-Erweiterung können Sie eine virtuelle Umgebung erstellen und aktivieren, ohne die Befehle manuell eingeben zu müssen.

Drücken Sie in VS Code Ctrl+Shift+P , suchen Sie nach " Python: Umgebung erstellen " und klicken Sie darauf.

Ein Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 1 – Umgebungseinrichtung

Wählen Sie einen Umgebungstyp aus der Dropdown-Liste aus. In unserem Fall ist es ".venv":

Ein Vergleich zwischen OpenpyXL Python und IronXL für Python: Abbildung 2 - .venv

Wählen Sie anschließend den Pfad zum Python-Interpreter aus:

Ein Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 3 – Interpreterpfad

Dadurch wird die virtuelle Python-Umgebung innerhalb des Ordners erstellt.

Ein Vergleich zwischen OpenpyXL Python und IronXL für Python: Abbildung 4 – Virtuelle Umgebung

4. Installieren Sie die IronXL-Bibliothek für Python.

Die Installation der IronXL-Bibliothek in Visual Studio Code ist ein unkomplizierter Vorgang. IronXL ist besonders nützlich, da es keine Installation von Microsoft Office erfordert, sondern auf dem .NET-Framework aufbaut.

4.1 Voraussetzungen

Vor der Installation von IronXL stellen Sie sicher, dass Ihre Umgebung bereits mit Python und Visual Studio Code konfiguriert ist. Es ist wichtig, dass die .NET 6.0-Laufzeitumgebung auf Ihrem Rechner installiert ist, da IronXL auf .NET-Technologien angewiesen ist, um zu funktionieren. Bei Systemen, die nicht bereits mit .NET ausgestattet sind, wie beispielsweise Linux oder macOS, müssen Sie es möglicherweise von der offiziellen .NET-Website herunterladen.

4.2 Installationsschritte

Um IronXL zu installieren, verwenden Sie den Paketmanager pip, der die Installation von Python-Bibliotheken vereinfacht. Führen Sie die folgenden Schritte im Terminal von Visual Studio Code aus:

  1. Terminal öffnen : Sie können über Visual Studio Code auf das Terminal zugreifen, indem Sie die Tastenkombination Strg+` verwenden oder über das obere Menü zu Terminal > Neues Terminal navigieren.
  2. Führen Sie den Pip-Installationsbefehl aus : Geben Sie im Terminal den folgenden Befehl ein und drücken Sie die Eingabetaste:

    pip install IronXL

    Der obige Befehl pip install lädt die IronXL-Bibliothek sowie alle für ihren Betrieb erforderlichen Abhängigkeiten herunter und installiert sie.

Ein Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 5 – IronXL

  1. Installation bestätigen : Nach Abschluss der Installation können Sie überprüfen, ob IronXL korrekt installiert wurde, indem Sie versuchen, es in ein neues Python-Skript zu importieren:

    from ironxl import *
    from ironxl import *
    PYTHON

    Wenn keine Fehler auftreten, ist die Bibliothek erfolgreich installiert und einsatzbereit.

4.3 Weitere Überlegungen

Sollten Sie bei der Installation von IronXL auf Probleme im Zusammenhang mit Abhängigkeiten oder der Kompatibilität mit .NET stoßen, stellen Sie sicher, dass alle Systemvoraussetzungen gemäß der IronXL-Dokumentation erfüllt sind. Je nach Betriebssystem kann es erforderlich sein, Systempfade anzupassen oder zusätzliche Supportbibliotheken zu installieren.

Durch Befolgen dieser Anweisungen wird IronXL in Ihrer Python-Umgebung in Visual Studio Code installiert und schafft so die Voraussetzungen für erweiterte Excel-Dateimanipulations- und Datenverarbeitungsfunktionen innerhalb Ihrer Python-Projekte.

5. Installieren Sie die OpenPyXL Python-Bibliothek.

5.1 Installation von OpenPyXL

Die Installation von OpenPyXL kann mit pip, dem Paketinstallationsprogramm von Python, erfolgen. Es wird empfohlen, diese Bibliothek in einer virtuellen Umgebung zu installieren, um Konflikte mit anderen Python-Projekten oder Systempaketen zu vermeiden.

  1. OpenPyXL mit pip installieren : Öffnen Sie die Befehlszeilenschnittstelle (CLI) in Visual Studio Code oder Ihrer bevorzugten Entwicklungsumgebung, in der Ihre Python-Umgebung aktiv ist. Geben Sie folgenden Befehl ein:

    pip install openpyxl
    pip install openpyxl
    SHELL

    Dieser Befehl lädt die OpenPyXL-Bibliothek sowie alle benötigten Abhängigkeiten herunter und installiert sie.

Ein Vergleich zwischen OpenPyXL für Python und IronXL für Python: Abbildung 6 – OpenPyXL

  1. Optionale Abhängigkeiten : Für fortgeschrittene Anwendungen, wie das Einbinden von Bildern oder die Arbeit mit großen Dateien, empfiehlt OpenPyXL die Installation zusätzlicher Bibliotheken wie lxml und Pillow . Zur Installation verwenden Sie:

    pip install lxml pillow
    pip install lxml pillow
    SHELL

5.2 Überprüfung der Installation

Nach der Installation können Sie überprüfen, ob OpenPyXL korrekt installiert wurde, indem Sie versuchen, das OpenPyXL-Modul in Ihr Python-Skript zu importieren:

from openpyxl import Workbook

wb = Workbook()
from openpyxl import Workbook

wb = Workbook()
PYTHON

Wenn der obige Code fehlerfrei ausgeführt wird, ist OpenpyXL bereit für den Einsatz in Ihren Projekten. Mit diesen Schritten können Sie OpenPyXL ganz einfach einrichten und mit der Automatisierung von Excel-Dateivorgängen in Ihren Python-Anwendungen beginnen.

6. Vergleich der erweiterten Funktionen in IronXL und OpenPyXL

6.1 Erweiterte Funktionen von IronXL

IronXL ist eine umfassende Python-Bibliothek, die die Bearbeitung von Excel-Dateien verbessert. Dieses Tool vereinfacht das Erstellen, Bearbeiten und Verwalten von Excel-Dateien innerhalb von Python-Anwendungen und bietet eine Reihe von Funktionen, die verschiedenen Bedürfnissen gerecht werden, von einfachen Tabellenkalkulationsoperationen bis hin zur fortgeschrittenen Datenverarbeitung.

6.1.1 Datenimport und -export

IronXL zeichnet sich durch seine Fähigkeit aus, verschiedene Excel-Formate wie XLS, XLSX und CSV zu verarbeiten. Benutzer können problemlos Beispieldaten aus diesen Formaten importieren oder Arbeitsblätter in diese Formate exportieren, was vielseitige Datenaustausch- und Berichtslösungen ermöglicht. Sie können auch das aktive Tabellenblatt auswählen, um an einem bestimmten Tabellenblatt zu arbeiten.

from ironxl import *     

workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")
from ironxl import *     

workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")
PYTHON

6.1.2 Formel- und Berechnungsunterstützung

Die Bibliothek unterstützt Excel-Formeln , sodass Berechnungen direkt im Excel-Arbeitsblatt durchgeführt werden können. Bei jeder Bearbeitung eines Tabellenblatts werden die Formeln automatisch neu berechnet, um Datenkonsistenz und -genauigkeit zu gewährleisten.

from ironxl import *     

# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")

# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"

# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()

# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue

# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")
from ironxl import *     

# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")

# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"

# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()

# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue

# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")
PYTHON

Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 7 – Daten mithilfe der Formelausgabe schreiben

6.1.3 Erweiterte Zellformatierung

IronXL bietet umfangreiche Zellformatierungsoptionen. Benutzer können Schriftarten, Größen, Hintergründe, Rahmen und Ausrichtung direkt in einer Excel-Tabelle über Code anpassen. Diese Funktion hilft bei der Erstellung von Datenpräsentationen und Berichten, die bestimmte stilistische Richtlinien erfordern.

from ironxl import *     

License.LicenseKey = "License Code";

workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")

selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000

selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False

selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin

selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")

selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True

# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")
from ironxl import *     

License.LicenseKey = "License Code";

workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")

selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000

selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False

selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin

selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")

selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True

# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")
PYTHON

Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 8 – Ausgabe der Zellenformatierung

6.1.4 Datenvalidierung und -sortierung

Zur Verbesserung der Datenintegrität beinhaltet IronXL Funktionen zur Datenvalidierung. Es bietet außerdem robuste Sortierfunktionen für Bereiche, Spalten und Zeilen, was die Organisation und Analyse großer Datensätze erleichtert.

6.1.5 Dokumentensicherheit

Zu den Sicherheitsfunktionen von IronXL gehört die Möglichkeit, Excel-Dateien zu verschlüsseln und zu entschlüsseln. Dadurch wird sichergestellt, dass sensible Informationen geschützt sind und nur autorisierten Benutzern zugänglich sind.

from ironxl import *     

# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet

# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")

# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")

# Clear any existing password protection
workbook.Password = None

# Save changes to the workbook
workbook.Save()

worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()
from ironxl import *     

# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet

# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")

# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")

# Clear any existing password protection
workbook.Password = None

# Save changes to the workbook
workbook.Save()

worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()
PYTHON

Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 9 – Ausgabe eines passwortgeschützten Arbeitsmappenobjekts

6.1.6 Konvertierungsmöglichkeiten

IronXL ist nicht auf die Verarbeitung von Excel-Dateien wie XLSX, XLSM, XLTX und XLTM beschränkt. Es kann außerdem Excel-Dokumente in JSON-, XML-, HTML- oder Binärformate konvertieren und erweitert so die Möglichkeiten der Datennutzung über verschiedene Plattformen und Programmierumgebungen hinweg.

from ironxl import *     

workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")

worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")

workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")
from ironxl import *     

workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")

worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")

workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")
PYTHON

6.1.7 Tabellen- und Arbeitsmappenverwaltung

Die Bibliothek vereinfacht die Verwaltung von Arbeitsmappen, indem sie Benutzern ermöglicht, ganze Arbeitsmappen oder einzelne Arbeitsblätter zu erstellen, zu laden und zu bearbeiten. Dies umfasst das Hinzufügen oder Löschen von Blättern sowie das Festlegen der Blattsichtbarkeit und der Druckeinstellungen.

from ironxl import *     

# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")

# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")

# Fill data into the new worksheet
for i in range(1, 21):
    new_worksheet[f"A{i}"].Value = f"Data {i}"
    new_worksheet[f"B{i}"].Value = 21 - i
    new_worksheet[f"C{i}"].Value = i % 5
    new_worksheet[f"D{i}"].Value = (i * 3) % 7

# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]

# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)

# Sort the range in ascending order based on column A
selected_range.SortAscending()

# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)

# Sort column B in descending order
column.SortDescending()

# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")
from ironxl import *     

# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")

# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")

# Fill data into the new worksheet
for i in range(1, 21):
    new_worksheet[f"A{i}"].Value = f"Data {i}"
    new_worksheet[f"B{i}"].Value = 21 - i
    new_worksheet[f"C{i}"].Value = i % 5
    new_worksheet[f"D{i}"].Value = (i * 3) % 7

# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]

# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)

# Sort the range in ascending order based on column A
selected_range.SortAscending()

# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)

# Sort column B in descending order
column.SortDescending()

# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")
PYTHON

Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 10 – Ausgabe der Tabellenblattverwaltung

6.1.8 Neue Zeilen und Spalten einfügen

IronXL ermöglicht es Benutzern, dynamisch neue Zeilen und Spalten in bestehende Excel-Arbeitsblätter einzufügen . Diese Funktion ist besonders nützlich, um Datenstrukturen an sich ändernde Datenanforderungen anzupassen, ohne das Gesamtlayout der Tabellenkalkulation zu beeinträchtigen.

# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)
# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)
PYTHON

6.1.9 Zeilen und Spalten gruppieren und Gruppierung aufheben

Mit IronXL können Benutzer Zeilen und Spalten gruppieren oder die Gruppierung aufheben . Diese Funktionalität verbessert die Organisation der Daten und ermöglicht eine einfachere Navigation und Verwaltung komplexer Datensätze, indem gruppierte Daten je nach Bedarf ein- und ausgeblendet werden.

6.1.10 Excel-Zeilen und -Spalten wiederholen

IronXL unterstützt die Wiederholung von Zeilen und Spalten über mehrere Seiten einer Arbeitsmappe. Dies ist nützlich, um Kopf- oder Fußzeilen zu erstellen, die auf jeder gedruckten Seite eines Excel-Dokuments erscheinen müssen, um eine einheitliche Darstellung und Lesbarkeit zu gewährleisten.

# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)
# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)
PYTHON

6.1.11 Excel-Arbeitsblätter kopieren

Mit IronXL können Benutzer bestehende Arbeitsblätter innerhalb derselben Arbeitsmappe duplizieren. Diese Funktion spart Zeit beim Erstellen mehrerer Tabellenblätter mit einem gemeinsamen Format oder beim Sichern wichtiger Daten. Es ist sehr hilfreich zum Kopieren von Daten.

# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")
# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")
PYTHON

6.1.12 Arbeitsblattbilder hinzufügen, extrahieren und entfernen

IronXL bietet die Möglichkeit, Bilder zu Arbeitsblättern hinzuzufügen , Bilder daraus zu extrahieren oder Bilder zu entfernen. Dies verbessert die visuelle Attraktivität von Tabellenkalkulationen und ist nützlich für Berichte, die grafische Daten, Logos oder Anleitungsbilder enthalten.

6.2 Erweiterte Funktionen von OpenPyXL

6.2.1 Bedingte Formatierung

OpenPyXL ermöglicht bedingte Formatierung, sodass Sie den Stil von Zellen basierend auf den darin enthaltenen Daten ändern können. Dies kann die Festlegung von Farben auf der Grundlage numerischer Werte oder die Anwendung unterschiedlicher Schriftarten und -stile auf der Grundlage bestimmter Bedingungen umfassen, wodurch die visuelle Darstellung von Daten verbessert wird.

from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule

wb = Workbook()
ws = wb.active

color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
                             end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)

wb.save('conditional_formatting.xlsx')
from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule

wb = Workbook()
ws = wb.active

color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
                             end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)

wb.save('conditional_formatting.xlsx')
PYTHON

6.2.2 Datenvalidierung

Mit OpenPyXL können Sie eine Datenvalidierung implementieren, um die Art der in Zellen eingegebenen Daten zu kontrollieren. Dies umfasst das Festlegen von Dropdown-Listen, das Beschränken von Einträgen auf einen bestimmten Datums- oder Zahlenbereich und das Generieren von Fehlermeldungen für ungültige Eingaben, was zur Wahrung der Datenintegrität beiträgt.

from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation

wb = Workbook()
ws = wb.active

dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'

wb.save('data_validation.xlsx')
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation

wb = Workbook()
ws = wb.active

dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'

wb.save('data_validation.xlsx')
PYTHON

Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 11 – Ausgabe der Datenvalidierung

6.2.3 Diagramme

Die Bibliothek unterstützt die Erstellung und Anpassung verschiedener Diagrammtypen wie Linien-, Balken-, Kreis- und Streudiagramme. Diese Funktion ermöglicht die Visualisierung von Daten direkt in den Excel-Tabellen und erleichtert so eine bessere Datenanalyse und Berichtserstellung. Wir kennzeichnen die Zeile des Diagramms und wählen die Referenzwerte aus, die im Diagramm angezeigt werden sollen.

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

wb = Workbook()
ws = wb.active

for i in range(10):
    ws.append([i])

values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")

wb.save("chart.xlsx")
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

wb = Workbook()
ws = wb.active

for i in range(10):
    ws.append([i])

values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")

wb.save("chart.xlsx")
PYTHON

Ein Vergleich zwischen OpenpyXL für Python und IronXL für Python: Abbildung 12 – Diagrammausgabe

6.2.4 Zusammenführen und Trennen von Zellen

OpenPyXL bietet die Möglichkeit, mehrere Zellen zu einer einzigen größeren Zelle zusammenzuführen, was oft nützlich ist, um Titel zu formatieren oder Daten zu organisieren. Außerdem ermöglicht es, diese Zellen bei Bedarf wieder zu trennen oder in einzelne Zellen aufzuspalten.

6.2.5 Kommentare lesen und schreiben

Sie können Zellen kommentieren und so zusätzliche Notizen oder Anweisungen in die Excel-Datei einfügen. Diese Funktion ist besonders nützlich für kollaborative Projekte, bei denen Notizen und Richtlinien zwischen den Benutzern ausgetauscht werden müssen.

from openpyxl import Workbook
from openpyxl.comments import Comment

wb = Workbook()
ws = wb.active

comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment

wb.save('comments.xlsx')
from openpyxl import Workbook
from openpyxl.comments import Comment

wb = Workbook()
ws = wb.active

comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment

wb.save('comments.xlsx')
PYTHON

6.2.6 Pivot-Tabellen

Die Bibliothek bietet die Möglichkeit, Pivot-Tabellen aus Daten innerhalb Ihrer Arbeitsblätter zu erstellen. Dieses leistungsstarke Tool hilft Ihnen dabei, Ihre Daten umfassend zusammenzufassen, zu analysieren, zu untersuchen und zu präsentieren, sodass Sie leichter Schlussfolgerungen ziehen und fundierte Entscheidungen auf der Grundlage großer Datensätze treffen können.

7. Dokumentation und Unterstützung

7.1 IronXL für Python – Dokumentation und Support

Dokumentation: IronXL bietet eine umfangreiche Dokumentation für Python-Entwickler. Es deckt ein breites Themenspektrum ab, darunter das Lesen, Schreiben und Bearbeiten von Excel-Dokumenten, das Verwalten von Arbeitsmappen, das Formatieren von Zellen und das programmgesteuerte Sortieren von Daten. Die Dokumentation ist bewusst einfach gehalten und enthält zahlreiche Codebeispiele, um Entwicklern die schnelle Integration der IronXL-Funktionalitäten in ihre Anwendungen zu erleichtern.

Support: IronXL bietet umfassende Supportoptionen. Entwickler können über einen umfangreichen FAQ-Bereich, eine detaillierte Online-Dokumentation und direkten E-Mail-Support Unterstützung erhalten. Bei komplexeren Anfragen oder für sofortige Hilfe besteht die Möglichkeit, sich direkt an das Ingenieurteam zu wenden.

7.2 OpenPyXL-Dokumentation und Support

Dokumentation: Die Dokumentation von OpenPyXL ist umfassend und gut strukturiert und bietet Entwicklern Anleitungen zu allen Themen, von den ersten Schritten bis hin zu fortgeschrittenen Funktionen wie Diagrammen, Datenvalidierung mit Fehlermeldungen und bedingter Formatierung. Die Dokumentation enthält detaillierte Erklärungen und Codebeispiele, die sowohl für neue als auch für erfahrene Benutzer hilfreich sind.

Support: OpenPyXL bietet Support hauptsächlich über Community-Foren und Issue-Tracker in seinen offiziellen Repositories. Entwickler können Probleme auf GitHub melden und zur Bibliothek beitragen, wodurch sie zu einem kollaborativen und sich ständig weiterentwickelnden Werkzeug wird.

8. Lizenzinformationen

8.1 IronXL-Lizenz

IronXL bietet verschiedene Optionen für unbefristete Lizenzen an, die auf unterschiedliche Projektanforderungen zugeschnitten sind und sicherstellen, dass Entwickler die Bibliothek in verschiedenen Umgebungen ohne laufende Kosten nutzen können.

  • Lite-Lizenz: Diese Option zum Preis von $799 eignet sich für 1 Entwickler, 1 Standort und 1 Projekt. Es beinhaltet E-Mail-Support.
  • Plus-Lizenz: Diese Option kostet 1.499 US-Dollar und erweitert den Schutz auf 3 Entwickler, 3 Standorte und 3 Projekte. Es umfasst E-Mail-Support, 24/7-Chat-Support und telefonischen Support.
  • Professionelle Lizenz: Für 2.999 US-Dollar ist dies das umfassendste Paket, das 10 Entwickler, 10 Standorte und 10 Projekte unterstützt. Sie bietet die gleichen Supportoptionen wie die Plus-Lizenz, zusätzlich aber auch die Möglichkeit zur Bildschirmfreigabe für umfassende Unterstützung.

Weitere Optionen umfassen:

  • Lizenzgebührenfreie Weiterverbreitungsabdeckung: Erforderlich für die Verbreitung von IronXL innerhalb von Softwarepaketen, SaaS- und OEM-Anwendungen. Diese Funktion ist in der Lite-Lizenz nicht verfügbar und muss mit einer Plus- oder Professional-Lizenz erworben werden.
  • Erweiterter Produktsupport und Updates: Entwickler können zwischen fortlaufendem Support und Updates wählen – entweder mit einer einjährigen kostenlosen Option oder einem 5-Jahres-Paket für 499 US-Dollar. Dies beinhaltet Sicherheitsfunktions-Upgrades und direkten Support vom Entwicklungsteam.

Jede Lizenz beinhaltet außerdem eine 30-Tage-Geld-zurück-Garantie, sodass Entwickler IronXL risikofrei testen können. Diese Lizenzbedingungen machen IronXL zu einer flexiblen Option für Projekte unterschiedlicher Art und Größe und bieten klare Wege für die Implementierung in verschiedenen professionellen Umgebungen.

8.2 OpenPyXL-Lizenz

OpenPyXL wird unter der MIT-Lizenz vertrieben, einer freizügigen Lizenz für freie Software. Dies bedeutet, dass es sowohl für Open-Source- als auch für proprietäre Software eine beträchtliche Nutzungsfreiheit ermöglicht. Die MIT-Lizenz erlaubt die Wiederverwendung innerhalb proprietärer Software, vorausgesetzt, dass alle Kopien der lizenzierten Software eine Kopie der MIT-Lizenzbedingungen und des Urheberrechtshinweises enthalten.

9. Schlussfolgerung

Ein Vergleich zwischen OpenpyXL Python und IronXL für Python: Abbildung 13 – Lizenzierung

In unserem Test von IronXL und OpenPyXL haben wir uns mit ihren Funktionen, ihrer Benutzerfreundlichkeit, den Supportoptionen und der Lizenzierung befasst. Beide Bibliotheken eignen sich hervorragend zur Verwaltung von Excel-Dateien, decken aber unterschiedliche Bedürfnisse ab.

IronXL zeichnet sich durch seinen umfangreichen Funktionsumfang aus, der komplexe Excel-Bearbeitungen ohne Microsoft Office ermöglicht. Es bietet eine detaillierte Dokumentation und einen starken technischen Support und ist somit eine zuverlässige Wahl für größere Projekte oder Unternehmen. Data Scientists nutzen IronXL für verschiedene Zwecke, wie z. B. Datenkopieren, Data Mining, Datenanalyse und viele andere Aufgaben. IronXL-Lizenzen sind ab $799 erhältlich, beinhalten aber eine kostenlose Testversion. Diese Testversion ermöglicht es Entwicklern, die Funktionen von IronXL vor dem Kauf umfassend zu testen, was für jedes ernsthafte Projekt ein großer Vorteil ist.

OpenPyXL ist ebenfalls leistungsstark, insbesondere dank seiner erweiterten Excel-Funktionen wie Diagrammen (z. B. Liniendiagrammen) und bedingter Formatierung. Es ist unter der MIT-Lizenz verfügbar, die sowohl für die Open-Source- als auch für die kommerzielle Nutzung Flexibilität bietet. Der Support ist gemeinschaftlich organisiert, was großartig ist, aber er bietet nicht die strukturierte Unterstützung, die IronXL bietet.

Wenn Ihr Projekt anspruchsvolle Funktionen sowie professionellen und fortlaufenden Support benötigt, ist IronXL die bessere Wahl. Die anfänglichen Kosten sind zwar hoch, aber die Investition lohnt sich aufgrund der Vorteile und der gebotenen Sicherheit, insbesondere bei komplexen oder langfristigen Projekten.

Hinweis:OpenPyXL ist eine eingetragene Marke des jeweiligen Inhabers. Diese Website steht in keiner Verbindung zu OpenPyXL, wird weder von OpenPyXL unterstützt noch gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Die Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich verfügbare Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Was sind die Hauptfunktionen von IronXL und OpenPyXL?

IronXL und OpenPyXL sind beide darauf ausgelegt, Excel-Tabellendateien zu verwalten, sodass Entwickler Aufgaben wie das Lesen, Schreiben und Bearbeiten von Excel-Dokumenten durchführen können. Sie unterstützen erweiterte Funktionen wie das Erstellen von Formeln, das Formatieren von Zellen und die Bearbeitung umfangreicher Datensätze.

Wie kann ich Excel-Dateien ohne Microsoft Excel bearbeiten?

IronXL ermöglicht es Ihnen, Excel-Dateien zu bearbeiten, ohne dass Microsoft Excel installiert sein muss. Es arbeitet unabhängig auf dem .NET-Framework und bietet leistungsfähige Funktionen zur Bearbeitung von Excel-Dateien auf mehreren Plattformen.

Welche Vorteile bietet die Verwendung von IronXL für die Manipulation von Excel-Dateien?

IronXL bietet Vorteile wie plattformübergreifende Unterstützung, erweiterte Zellformatierung, Datenvalidierung, Dokumentensicherheit und Umwandlungsmöglichkeiten in verschiedene Formate wie JSON, XML und HTML. Es ist für komplexe Projekte geeignet, die umfassende Funktionen und professionellen Support erfordern.

Kann OpenPyXL die Erstellung von Diagrammen und Pivot-Tabellen unterstützen?

Ja, OpenPyXL unterstützt die Erstellung verschiedener Diagrammtypen und Pivot-Tabellen, die Datenvisualisierung und umfassende Datenanalyse direkt in Excel-Tabellen erleichtern.

Ist eine kommerzielle Lizenz erforderlich, um IronXL zu nutzen?

Ja, IronXL bietet eine kommerzielle Lizenz mit verschiedenen Unterstützungsoptionen, einschließlich einer Testphase, die starken technischen Support und umfassende Funktionen für die Bearbeitung von Excel-Dateien bietet.

Wie geht OpenPyXL mit der Integration von Excel-Formeln um?

OpenPyXL kann Formeln in Excel-Blättern verwalten und auswerten, was komplexe Datenoperationen ermöglicht und die Datenintegrität während der Dateibearbeitung aufrechterhält.

Welche Unterstützungsoptionen stehen OpenPyXL-Benutzern zur Verfügung?

OpenPyXL stützt sich auf Community-getriebene Unterstützung über Foren und GitHub, bietet einen kollaborativen Ansatz zur Fehlersuche, während IronXL direkten Support per E-Mail, Chat und Telefon bietet.

Welche Excel-Formate unterstützt IronXL?

IronXL unterstützt verschiedene Excel-Dateiformate, sodass Entwickler mit unterschiedlichen Excel-Dokumenttypen arbeiten und umfangreiche Konvertierungsmöglichkeiten in mehrere Datenformate nutzen können.

Wie unterscheiden sich IronXL und OpenPyXL in Bezug auf Plattformkompatibilität?

IronXL ist kompatibel mit Windows, macOS und Linux und bietet Vielseitigkeit für Anwendungen in verschiedenen Betriebssystemumgebungen. OpenPyXL wird hauptsächlich in Python-Umgebungen verwendet und konzentriert sich auf die Bearbeitung von XLSX-Dateien.

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