Zum Fußzeileninhalt springen
MIT ANDEREN KOMPONENTEN VERGLEICHEN
Ein Vergleich von IronXL vs Microsoft Office Interop Excel

Ein Vergleich zwischen IronXL und Microsoft Office Interop Excel

MS Office-Tools wie Word, Excel, PowerPoint usw. sind sehr populär und werden in allen Arten von Unternehmen häufig verwendet. Die Erstellung von Berichtsdateien im Excel-Dateiformat ist eine Funktion, die viele Benutzer in ihren Softwareanwendungen benötigen, und es gibt jetzt eine endgültige Möglichkeit, diese Funktion in Softwareanwendungen einzubeziehen, indem die verschiedenen verfügbaren Bibliotheken verwendet werden.

In diesem Artikel werden wir besprechen und vergleichen, wie man mit Microsoft Excel-Dateien programmatisch in C# arbeitet, und zwar mit den beiden beliebtesten Bibliotheken, IronXL und Microsoft Office Excel Interop.

IronXL und Microsoft Excel Interop bieten beide die Methoden zum Erstellen, Bearbeiten und Lesen von Excel-Dokumenten in .NET-Frameworks. The next question is to decide which C# Excel library is best suited to your project. Dieser Artikel hilft Ihnen bei der Entscheidung über die beste Option für Ihre Anwendungen.

Lassen Sie uns zunächst ansehen, was beide Bibliotheken zu bieten haben, und dann zur eigentlichen Vergleichsarbeit übergehen.

Die IronXL-Bibliothek

IronXL ist eine .NET-Bibliothek, die das Lesen und Bearbeiten von Microsoft Excel-Dokumenten in C# erleichtert. IronXL.Excel ist eine eigenständige .NET-Softwarebibliothek zum Lesen einer Vielzahl von Tabellenformaten. Es erfordert nicht, dass Microsoft Excel installiert ist, noch hängt es von Interop ab.

IronXL ist eine intuitive C#-API, die es ermöglicht, Excel-Tabellenkalkulationsdateien in .NET mit blitzschneller Leistung zu lesen, zu bearbeiten und zu erstellen. IronXL unterstützt vollständig .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS und Azure.

IronXL ist eine führende .NET Core- und .NET Framework-Excel-Tabellenbibliothek für C#.

Dokumentation & Support

IronXL-Feature-Set

  • Laden, Lesen und Bearbeiten von Daten — von XLS/XLSX/CSV/TSV
  • Speichern und Exportieren — in XLS/XLSX/CSV/TSV/JSON
  • System.Data-Objekte — Arbeiten mit Excel-Tabellen als System.Data.DataSet- und System.Data.DataTable-Objekte.
  • Formeln — arbeitet mit Excel-Formeln. Formeln werden jedes Mal, wenn ein Blatt bearbeitet wird, neu berechnet.
  • Bereiche — Einfach zu verwendende Arbeitsblatt-Syntax ["A1:B10"]. Kombinieren und Erstellen von Bereichen intuitiv.
  • Sortierung — Sortieren von Bereichen, Spalten und Zeilen.
  • Styling — Zellvisuelle Stile, Schriftart, Größe, Hintergrundmuster, Rahmen, Ausrichtung und Zahlenformate.

Microsoft Office Excel Interop-Objekte

Der Namespace Microsoft.Office.Interop.Excel bietet Methoden zur Interaktion mit der Microsoft Excel-Anwendung in C# und Visual Basic. Wir können neue Excel-Arbeitsmappen, Excel-Arbeitsblätter erstellen, Daten in vorhandenen Blättern anzeigen, vorhandene Excel-Blattinhalte ändern und vieles mehr mit diesem Namespace.

Die Klassen und Schnittstellen in Microsoft.Office.Interop.Excel bieten Unterstützung für die Interoperabilität zwischen dem COM-Objektmodell von Microsoft Excel-Dateien und verwalteten Anwendungen, die xls- oder xlsx-Dateien automatisieren.

Die Programmiersprache C# enthält Funktionen, die die Arbeit mit Microsoft Office Interop-API-Objekten erleichtern. Die neuen Funktionen umfassen benannte und optionale Argumente, einen neuen Typ namens dynamic und die Möglichkeit, Argumente in COM-Methoden an Referenzparameter zu übergeben, als ob sie Wertparameter wären. Dies macht es zu einer besseren Wahl für die Arbeit mit COM- und Interop-Objekten.

Anmerkung: Microsoft Excel Interop-Objekte erfordern, dass Microsoft Excel auf dem Computer installiert ist

Der Rest des Artikels geht wie folgt weiter:

  1. Erstellen einer Konsolenanwendung
  2. IronXL C# Bibliotheksinstallation
  3. Installation von Microsoft Office Interop Excel
  4. Erstellen einer neuen Excel-Arbeitsmappe und eines Blattes
  5. Lesen von Excel-Dateien
  6. Arbeiten mit Wertbereichen in Excel-Dateien
  7. Arbeiten mit Excel-Formeln
  8. Lizenzierung
  9. Zusammenfassung und Schlussfolgerung

1. Erstellen einer Konsolenanwendung

Verwenden Sie die folgenden Schritte, um eine Konsolenanwendung zu erstellen:

  • Starten Sie die Visual Studio 2022 IDE.
  • Klicken Sie auf „Neues Projekt erstellen“.
  • Wählen Sie auf der Seite „Neues Projekt erstellen“ im Dropdown-Menü „Sprache“ C#, in der „Plattformen“ Liste Windows und in der „Projekttypen“ Liste Konsolenanwendung.
  • Wählen Sie Konsolenanwendung (.NET Framework) aus den angezeigten Projektschablonen.
class="content-img-align-center"> Projekt erstellen - Konsolenanwendung
  • Klicken Sie auf Weiter.
  • Geben Sie im Bildschirm Zusätzliche Informationen die Framework-Version an, die Sie verwenden möchten. In diesem Beispiel verwenden wir .NET Framework 4.8.
class="content-img-align-center"> Projekt erstellen - .NET Framework
  • Klicken Sie auf Erstellen, um den Vorgang abzuschließen.

Jetzt ist das Projekt erstellt und wir sind fast bereit, die Bibliotheken zu testen. Wir müssen sie jedoch noch in unser Projekt installieren und integrieren. Lassen Sie uns zunächst IronXL installieren.

2. IronXL C# Bibliotheksinstallation

Sie können die IronXL-Bibliothek mit den folgenden Methoden herunterladen und installieren:

  1. Verwenden von Visual Studio mit NuGet-Paketen.
  2. Laden Sie das NuGet-Paket direkt herunter.
  3. Manuelle Installation mit der DLL.

Schauen wir uns jede genauer an.

2.1. Verwenden von Visual Studio mit NuGet-Paketen

Visual Studio bietet den NuGet-Paket-Manager, um NuGet-Pakete in Ihren Projekten zu installieren. Sie können darauf über das Projektmenü oder durch Rechtsklick auf Ihr Projekt im Solution Explorer zugreifen.

class="content-img-align-center"> Verwalten von NuGet-Paket auswählen
  • Jetzt im Durchsuchen-Tab -> nach IronXL.Excel suchen -> Installieren
class="content-img-align-center"> Nach IronXL suchen
  • Und wir sind fertig.
class="content-img-align-center"> Suche nach Microsoft Excel Interop

3.2. Verwenden der NuGet Paketmanager-Konsole

Eine weitere Möglichkeit, die Microsoft.Office.Interop.Excel C#-Bibliothek herunterzuladen und zu installieren, besteht darin, die folgenden Schritte zu nutzen, um das NuGet-Paket über die Developer Command Prompt zu installieren.

  1. Öffnen Sie die Developer Command Prompt — normalerweise im Visual Studio-Ordner zu finden.
  2. Geben Sie den folgenden Befehl ein:

    PM> Install-Package Microsoft.Office.Interop.Excel
    PM> Install-Package Microsoft.Office.Interop.Excel
    SHELL
  3. Drücken Sie Enter.
  4. Dadurch wird das Paket heruntergeladen und installiert.
  5. Laden Sie Ihr Visual Studio-Projekt neu und beginnen Sie zu arbeiten.

3.3. Notwendige using-Direktiven hinzufügen

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei Program.cs und klicken Sie dann auf Code anzeigen.
  2. Fügen Sie die folgende using-Direktive oben im Code-Datei hinzu:

    using Excel = Microsoft.Office.Interop.Excel;
    using Excel = Microsoft.Office.Interop.Excel;
    Imports Excel = Microsoft.Office.Interop.Excel
    $vbLabelText   $csharpLabel

4. Erstellen einer neuen Excel-Arbeitsmappe und eines Blattes

Eine Arbeitsmappe ist eine Excel-Datei, die mehrere Arbeitsblätter mit Zeilen und Spalten enthält. Beide Bibliotheken bieten die Möglichkeit, ein neues Excel-Arbeitsbuch und Blätter zu erstellen. Schauen wir uns den Code Schritt für Schritt an.

4.1. Eine neue Excel-Arbeitsmappe und ein Blatt mit IronXL

Es könnte nicht einfacher sein, eine neue Excel-Arbeitsmappe mit IronXL zu erstellen! Nur eine Codezeile! Ja, wirklich. Fügen Sie den folgenden Code zu Ihrer statischen void Main-Funktion in der Program.cs-Datei hinzu:

// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
' Create a new workbook in XLSX format
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

Sowohl XLS (ältere Excel-Datei-Version) als auch XLSX (aktuelle und neuere Datei-Version) Dateiformate können mit IronXL erstellt werden.

Und es ist noch einfacher, ein Standard-Arbeitsblatt zu erstellen:

// Create a new worksheet
var worksheet = workbook.CreateWorkSheet("IronXL Features");
// Create a new worksheet
var worksheet = workbook.CreateWorkSheet("IronXL Features");
' Create a new worksheet
Dim worksheet = workbook.CreateWorkSheet("IronXL Features")
$vbLabelText   $csharpLabel

Sie können jetzt die Arbeitsblatt-Variable verwenden, um Zellenwerte festzulegen und fast alles tun, was eine Excel-Datei kann.

4.2. Eine neue Excel-Arbeitsmappe und ein Blatt mit Microsoft.Office.Interop.Excel

Um eine Excel-Datei mit Microsoft.Office.Interop zu erstellen, muss Microsoft Excel installiert sein. Also müssen wir überprüfen, ob Microsoft Excel auf dem Hostrechner installiert ist — falls nicht, wird einfach eine Ausnahme zurückgegeben, die behandelt werden muss. Die folgenden Beispielcodes ermöglichen es, eine Excel-Anwendungsinstallation zu überprüfen und Excel-Arbeitsmappen und -Blätter zu erstellen:

Microsoft Excel-Installation überprüfen:

// Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();  

// Check if Excel is installed  
if (xlApp == null)  
{  
    Console.WriteLine("Excel is not installed in the system...");
    return;  
}
// Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();  

// Check if Excel is installed  
if (xlApp == null)  
{  
    Console.WriteLine("Excel is not installed in the system...");
    return;  
}
' Start Excel and get Application object.
Dim xlApp As New Excel.Application()

' Check if Excel is installed  
If xlApp Is Nothing Then
	Console.WriteLine("Excel is not installed in the system...")
	Return
End If
$vbLabelText   $csharpLabel

Arbeitsmappe und Arbeitsblatt erstellen:

// Create Workbook and Worksheet
object misValue = System.Reflection.Missing.Value;  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Add(misValue);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
// Create Workbook and Worksheet
object misValue = System.Reflection.Missing.Value;  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Add(misValue);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
' Create Workbook and Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add(misValue)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
$vbLabelText   $csharpLabel

Bis jetzt liegt der Vorteil bei IronXL gegenüber Office Interop Excel, wenn man beide Codes betrachtet. IronXL benötigt nur eine einzige Codezeile, um mit Excel-Dateien zu arbeiten, ohne Aufwand und zusätzliche Abhängigkeiten.

5. Excel-Dateien lesen

Beide Bibliotheken können bestehende Excel-Dokumente öffnen und lesen. Schauen wir uns das Codebeispiel an.

5.1. Excel-Dateien lesen mit IronXL

Die IronXL WorkBook-Klasse stellt ein Excel-Blatt dar. Um eine Excel-Datei mit C# zu öffnen, verwenden wir WorkBook.Load und geben den Pfad der Excel-Datei (.xlsx) an. Der folgende Einzeiler wird verwendet, um die Datei zum Lesen zu öffnen:

// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
' Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
$vbLabelText   $csharpLabel

Jede WorkBook kann mehrere WorkSheet-Objekte haben. Diese stellen Arbeitsblätter im Excel-Dokument dar. Wenn die Arbeitsmappe Arbeitsblätter enthält, greifen Sie wie folgt auf sie zu, indem Sie sie nach Namen abrufen:

// Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
// Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
' Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
$vbLabelText   $csharpLabel

Code zum Lesen der Zellwerte:

// Read from Ranges of cells elegantly.
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

5.2. Lesen von Excel-Dateien mit Microsoft.Office.Interop.Excel

Dies verwendet ebenfalls eine Codezeile, um eine Arbeitsmappe und ein Blatt zu öffnen. Der Code sieht wie folgt aus:

Excel.Application xlApp = new Excel.Application();  

// Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  

// Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Excel.Application xlApp = new Excel.Application();  

// Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  

// Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Dim xlApp As New Excel.Application()

' Load WorkBook
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)

' Open Sheet for reading
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
$vbLabelText   $csharpLabel

Code zum Lesen der Zellwerte:

// Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;

// Reading first 10 rows with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)  
{  
    string firstValue = Convert.ToString((xlRange.Cells[rowCount, 1] as Excel.Range).Text);  
    string secondValue = Convert.ToString((xlRange.Cells[rowCount, 2] as Excel.Range).Text);  

    Console.WriteLine(firstValue + "\t" + secondValue);  
}
// Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;

// Reading first 10 rows with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)  
{  
    string firstValue = Convert.ToString((xlRange.Cells[rowCount, 1] as Excel.Range).Text);  
    string secondValue = Convert.ToString((xlRange.Cells[rowCount, 2] as Excel.Range).Text);  

    Console.WriteLine(firstValue + "\t" + secondValue);  
}
Imports Microsoft.VisualBasic

' Get the entire range of cells
Dim xlRange As Excel.Range = xlWorkSheet.UsedRange

' Reading first 10 rows with two columns
For rowCount As Integer = 1 To 10
	Dim firstValue As String = Convert.ToString((TryCast(xlRange.Cells(rowCount, 1), Excel.Range)).Text)
	Dim secondValue As String = Convert.ToString((TryCast(xlRange.Cells(rowCount, 2), Excel.Range)).Text)

	Console.WriteLine(firstValue & vbTab & secondValue)
Next rowCount
$vbLabelText   $csharpLabel

Die Überprüfung der Excel-Installation und das Erstellen der Instanz sind jedoch ein integraler Bestandteil.

6. Arbeiten mit Wertbereichen in Excel-Dateien

6.1. Arbeiten mit Wertbereichen in IronXL

In IronXL können wir mit einer einzigen Codezeile den Wertbereich bestimmter Zellen erhalten. Dann kann mithilfe einer Schleife jeder Zellwert gelesen oder bearbeitet werden. Der Code sieht wie folgt aus:

// Load the workbook and get the first worksheet
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();

// This is how we get range from Excel worksheet
var range = sheet["A2:A8"];
// This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
    Console.WriteLine(cell.Value);
}
// Load the workbook and get the first worksheet
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();

// This is how we get range from Excel worksheet
var range = sheet["A2:A8"];
// This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
    Console.WriteLine(cell.Value);
}
' Load the workbook and get the first worksheet
Dim workbook As WorkBook = WorkBook.Load("test.xls")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' This is how we get range from Excel worksheet
Dim range = sheet("A2:A8")
' This is how we can iterate over our range and read or edit any cell
For Each cell In range
	Console.WriteLine(cell.Value)
Next cell
$vbLabelText   $csharpLabel

6.2. Arbeiten mit Wertbereichen in Microsoft.Office.Interop.Excel

Dies verwendet ebenfalls eine Codezeile, um den Bereich der Zellwerte zu erhalten. Die Zellen können dann mit den erforderlichen Werten aktualisiert werden. Der Code sieht wie folgt aus:

Excel.Application xlApp = new Excel.Application();  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

// Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";
Excel.Application xlApp = new Excel.Application();  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

// Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";
Dim xlApp As New Excel.Application()
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)

' Get range of values and updating their format
Dim range = xlWorkSheet.get_Range("A1", "D1")
range.NumberFormat = "$0.00"
$vbLabelText   $csharpLabel

7. Arbeiten mit Excel-Formeln

Excel-Formeln bilden den wichtigsten Teil der Arbeit mit Excel-Dateien. Beide Bibliotheken bieten die Möglichkeit, mit Formeln zu arbeiten und diese leicht auf Zellen anzuwenden.

7.1. Arbeiten mit Excel-Formeln in IronXL

Nach dem Laden der Arbeitsmappe und des Arbeitsblattes kann das folgende Codebeispiel verwendet werden, um entweder Änderungen an Formeln vorzunehmen oder sie auf bestimmte Zellen anzuwenden. Der Code sieht wie folgt aus:

// Set Formulas
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets.  
workbook.EvaluateAll();
// Set Formulas
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets.  
workbook.EvaluateAll();
' Set Formulas
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"

' Force recalculate all formula values in all sheets.  
workbook.EvaluateAll()
$vbLabelText   $csharpLabel

Außerdem können Formeln und deren Werte abgerufen werden.

// Get Formulas
// Get the formula's calculated value.  e.g. "52"
string formulaValue = worksheet["G30"].Value;

// Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet["G30"].Formula;

// Save your changes with updated formulas and calculated values.
workbook.Save();
// Get Formulas
// Get the formula's calculated value.  e.g. "52"
string formulaValue = worksheet["G30"].Value;

// Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet["G30"].Formula;

// Save your changes with updated formulas and calculated values.
workbook.Save();
' Get Formulas
' Get the formula's calculated value.  e.g. "52"
Dim formulaValue As String = worksheet("G30").Value

' Get the formula as a string. e.g. "Max(C3:C7)"
Dim formulaString As String = worksheet("G30").Formula

' Save your changes with updated formulas and calculated values.
workbook.Save()
$vbLabelText   $csharpLabel

7.2. Arbeiten mit Excel-Formeln in Microsoft.Office.Interop.Excel

Ähnlich kann nach dem Laden der Arbeitsmappe und des Arbeitsblattes der folgende Code verwendet werden, um mit Excel-Formeln zu arbeiten. Das Codebeispiel sieht wie folgt aus:

// Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");

// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";
// Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");

// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";
' Get range of values and updating their format
Dim range1 = xlWorkSheet.get_Range("A1", "D1")
Dim range2 = xlWorkSheet.get_Range("C2", "C6")

' Set Formula
range1.Formula = "=RAND()*100000"
range2.Formula = "=A2 & "" "" & B2"
$vbLabelText   $csharpLabel

8. Lizenzierung

IronXL ist eine offen kommerzielle C#-Excel-Bibliothek. Es ist kostenlos für die Entwicklung und kann jederzeit für den kommerziellen Einsatz lizenziert werden. Licenses are available for single-project use, single developers, agencies, and global corporations, as well as SaaS and OEM redistribution. Alle Lizenzen umfassen eine 30-Tage-Geld-zurück-Garantie, ein Jahr Produktsupport und -aktualisierungen, Gültigkeit für Entwicklung, Test- und Produktionsumgebungen und auch eine Dauerlizenz (einmaliger Kauf). Das Lite-Paket startet bei $799.

Für Microsoft Office Interop Excel benötigen Anwendungen, die diese DLL-Datei verwenden, keine separate Lizenz, weder für Einzelgebrauch noch für kommerzielle Nutzung. Damit eine Lösung mit einer Office-Anwendung funktioniert, müssen Microsoft Office-Anwendungen auf dem Computer, auf dem die Lösung ausgeführt wird, installiert und lizenziert sein. Die DLL wird immer auf einem Computer vorhanden sein, auf dem die Office-Anwendung installiert ist, und sie wird dort registriert. Gleichzeitig werden auch die primären Interop-Assemblys (PIAs), die für .NET-Lösungen unter Verwendung der "interop" erforderlich sind, im GAC installiert.

9. Zusammenfassung und Schlussfolgerung

Zusammenfassung

Das Lesen und Erstellen von Excel (XLS, XLSX und CSV)-Dateien in C# und allen anderen .NET-Sprachen ist mit der IronXL-Softwarebibliothek von Iron Software einfach. IronXL erfordert nicht, dass Excel auf Ihrem Server oder Interop installiert ist. IronXL bietet eine schnellere und intuitivere API als Microsoft.Office.Interop.Excel. IronXL funktioniert auf .NET Core 2, Framework 4.5, Azure, Mono und Mobil sowie auf Xamarin.

Microsoft Office Interop (Excel Automation) ist eine Option beim Erstellen/Lesen von Excel-Dateien (XLS, XLSX, CSV) von C#- oder VB.NET-Anwendungen. Es erfordert, dass alle Kundenrechner dieselbe Version von Microsoft Excel installiert haben, und funktioniert nur auf Windows-Betriebssystemen.

Schlussfolgerung

Hier hat IronXL einen klaren Vorteil gegenüber Microsoft.Office.Interop.Excel, da es nicht erforderlich ist, dass die Microsoft Office Excel-Anwendung auf dem lokalen oder Serverrechner installiert ist, um zu arbeiten. Darüber hinaus wird Excel bei der Verwendung von Excel Automation im Hintergrund geladen und verwendet viel MB und eine große Anzahl von Dateien und DLLs im Vergleich zu IronXL. IronXL hat eine schnellere und intuitivere API als die von Microsoft.Office.Interop.Excel.

Microsoft Office-Anwendungen (einschließlich Excel) wurden als UI-Anwendungen entworfen, und daher ist die API sehr langsam. Microsoft empfiehlt nicht, Excel Automation (oder irgendein Office Interop) auf dem Server zu verwenden. In diesem Fall ist IronXL mit all seinen robusten Funktionen die beste Wahl zur Integration in Softwareanwendungen.

Hinweis:Microsoft Office ist eine eingetragene Marke des jeweiligen Inhabers. Diese Seite ist nicht mit, noch von, noch sponsert Microsoft Office verbunden. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Inhaber. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Wie kann ich Excel-Dateien in C# erstellen und bearbeiten, ohne Microsoft Excel installiert zu haben?

Sie können IronXL verwenden, um Excel-Dateien in C# zu erstellen und zu bearbeiten, ohne dass Microsoft Excel auf Ihrem Computer installiert sein muss. IronXL bietet eine eigenständige Bibliothek, die mit verschiedenen Excel-Dateiformaten arbeitet und mehrere Plattformen unterstützt.

Welche Vorteile bietet die Verwendung von IronXL gegenüber Microsoft Office Interop für Excel-Operationen?

IronXL bietet mehrere Vorteile gegenüber Microsoft Office Interop, wie beispielsweise die Nicht-Erforderlichkeit der Installation von Excel, Unterstützung mehrerer Plattformen einschließlich .NET Core und Azure sowie eine schnellere und intuitivere API.

Kann ich IronXL verwenden, um verschiedene Excel-Dateiformate zu lesen und zu schreiben?

Ja, IronXL unterstützt das Lesen und Schreiben verschiedener Excel-Dateiformate wie XLS, XLSX, CSV und TSV und ist somit vielseitig für unterschiedliche Anwendungsanforderungen geeignet.

Ist IronXL mit .NET Core und anderen Umgebungen kompatibel?

IronXL ist vollständig kompatibel mit .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS und Azure und bietet Flexibilität für unterschiedliche Entwicklungsumgebungen.

Wie handhabt IronXL Excel-Formeln?

IronXL ermöglicht es Benutzern, Excel-Formeln einfach festzulegen und abzurufen. Es berechnet Formeln automatisch neu, wenn ein Blatt geändert wird, und unterstützt das Speichern aktualisierter Formeln und deren berechneter Werte.

Welche Unterstützung ist verfügbar, wenn Sie IronXL in einem Projekt verwenden?

IronXL bietet umfangreiche Unterstützung, einschließlich Online-API-Dokumentation, Code-Snippets für den Einstieg, Tutorials, Beispiele auf GitHub und professionellen Support von Team Iron.

Welche Einschränkungen hat die Verwendung von Microsoft Office Interop für Excel auf Servern?

Microsoft empfiehlt nicht, Excel Automation oder irgendein Office Interop auf Servern zu verwenden, aufgrund von Leistungsproblemen und des Erfordernisses, Microsoft Excel installiert zu haben, was zu Wartungsherausforderungen führen kann.

Wie verbessert IronXL die Leistung im Vergleich zu traditionellen Excel-Interop-Bibliotheken?

IronXL bietet eine schnellere und effizientere API als Microsoft Office Interop Excel, das als UI-Anwendung entwickelt wurde und tendenziell langsamer und ressourcenintensiver ist.

Ist IronXL für die kommerzielle Nutzung in Softwareanwendungen geeignet?

Ja, IronXL kann für die kommerzielle Nutzung mit verschiedenen Lizenzoptionen lizenziert werden, einschließlich Einzellizenzen, Entwicklerlizenzen und globalen Lizenzen, die alle eine 30-tägige Geld-zurück-Garantie beinhalten.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen