Zum Fußzeileninhalt springen
MIT ANDEREN KOMPONENTEN VERGLEICHEN

Ein Vergleich zwischen IronXL und Syncfusion Excel

Das programmgesteuerte Bearbeiten von Excel kann für Entwickler schwierig sein. Beim Bearbeiten von Microsoft Excel-Dateien treten mehrere Probleme auf. Die Hauptprobleme sind die Schwierigkeit mit der Benutzeroberfläche und der Mangel an Dokumentation, was das Bearbeiten einer Excel-Datei erschwert. Aber glücklicherweise haben wir jetzt einige Excel-Bibliotheken, die von erfahrenen Programmierern geschrieben wurden. Diese Bibliotheken helfen bei der Bearbeitung von Microsoft Excel-Dateidaten. Hier diskutiere ich zwei Excel-C#-Bibliotheken:

  • IronXL: C# Excel Library
  • Syncfusion Excel Framework

Beginnen wir mit einem Vergleich dieser Bibliotheken.

IronXL: C# Excel Library

IronXL is a .NET Excel library of C# codes developed by Iron Software entwickelt wurde und zur programmgesteuerten Bearbeitung von Excel-Dokumenten verwendet wird. IronXL basiert auf dem .NET framework und vereinfacht den Entwicklungsprozess von Anwendungen, die normalerweise Microsoft Excel benötigen.

IronXL provides the programmer with a set of classes, methods, and properties that can be used for reading and writing data from/to an Excel workbook, manipulating workbook objects, accessing external data sources, and loading data into an Excel workbook.

Sehen wir uns die Funktionen von IronXL an.

Funktionen von IronXL

Es gibt viele Funktionen von IronXL, die es von anderen Bibliotheken abheben.

Laden, Lesen und Bearbeiten von Daten

Using IronXL we can load, read, and edit data from spreadsheet documents such as XLS, XLSX, XLST, XLSM, CSV, and TSV. IronXL provides very simple and easy-to-remember functions to create, read, and edit these spreadsheet documents. Es bietet die vollständige Kontrolle über die Dokumente.

Erstellen von Diagrammen

IronXL bietet eine Vielzahl von Funktionen zum Erstellen von Tabellen mit angepassten Diagrammen. Es verfügt über eine gute API-Dokumentation, um sie zu unterstützen.

Speichern und Exportieren

IronXL ist großartig zum Speichern und Exportieren von Dokumenten in mehreren Formaten. IronXL bietet die Möglichkeit, Excel-Dateien in die Dateiformate XLS, XLSX, XLST, XLSM, CSV, TSV und JSON zu exportieren oder zu konvertieren.

Arbeiten mit Formeln

IronXL unterstützt das Arbeiten mit Formeln in Excel-Dateien. Wir können jede Formel erstellen und auf jede Zelle anwenden, je nach unseren Bedürfnissen. IronXL verfügt über ausgezeichnete und einfache Funktionen, die uns beim Arbeiten mit Formeln unterstützen.

Zellformate

Excel-Benutzer müssen häufig Formatierungen in Excel-Zellen verwenden. IronXL unterstützt erweiterte bedingte Formatierungsfunktionen. IronXL hilft dabei, Zellen mit einfachen und benutzerfreundlichen Funktionen zu formatieren. IronXL unterstützt alle von Microsoft Excel unterstützten Formate. Sie können Daten mit diesen Formaten formatieren:

  • Text
  • Nummer
  • Formeln
  • Daten
  • Währung
  • Prozentsätze
  • Wissenschaftlich
  • Zeit
  • Benutzerdefinierte Formate

Zellgestaltung

Die Zellgestaltung ist eine wichtige Funktion von Microsoft Excel, die hilft, wichtige Daten zu unterscheiden. Sie ist sehr nützlich und IronXL unterstützt diese Funktion ebenfalls. You can change font style, font size, background pattern, border, and alignment using the IronXL functions.

Syncfusion Excel

Die Syncfusion-Bibliothek bietet eine API zum Lesen, Schreiben und Bearbeiten von Microsoft Excel (XLS)-Dateien. Die Syncfusion-Bibliothek ist eine C#-Bibliothek, die von Entwicklern verwendet werden kann, um ihre Anwendungen zum Lesen, Schreiben und Bearbeiten von Microsoft Excel (XLS)-Dateien zu erstellen. Angepasster Datenimport wird ebenfalls unterstützt. Es ist mit allen Betriebssystemen kompatibel, die C#-Programmiersprachen unterstützen.

Funktionen von Syncfusion Excel

Werfen wir einen Blick auf die Funktionen der Syncfusion Excel-Bibliothek:

Sehen wir uns an, wie diese Bibliotheken funktionieren. Um die verschiedenen Funktionen zu überprüfen, müssen wir zunächst ein C#-Projekt erstellen. Also, lassen Sie uns beginnen.

1. Erstellen eines C#-Projekts

In diesem Tutorial wird die Visual Studio Version 2019 (die neueste Version wird empfohlen) und die Programmiersprache C# verwendet, um ein Projekt zu erstellen.

  • Starten Sie Visual Studio 2019.
  • Klicken Sie auf "Erstellen", um ein neues Projekt zu erstellen.
  • Wählen Sie C#-Konsolenanwendung aus den Vorlagen aus und klicken Sie auf die Schaltfläche Weiter.

    Konsolenanwendung Konsolenanwendung

  • Geben Sie dem Projekt einen Namen und klicken Sie auf die Schaltfläche Weiter.

    Projektkonfiguration Projektkonfiguration

  • Wählen Sie das .NET-Ziel-Framework >= 3.1, da 3.1 unterstützt wird und auf jedem Gerät funktioniert. Die neueste und stabilste Version des .NET-Frameworks ist 5.0. Klicken Sie auf die Schaltfläche Erstellen. Es wird eine C#-Konsolenanwendung erstellt.

    .NET-Ziel-Framework .NET-Ziel-Framework

Sie können auch vorhandene C#-Projekte verwenden. Öffnen Sie einfach das Projekt und installieren Sie die Bibliotheken. Wir werden sehen, wie wir die Excel-Bibliotheken im nächsten Abschnitt installieren können.

2. Installieren der IronXL-Bibliothek

Es gibt mehrere Möglichkeiten, die IronXL-Bibliothek herunterzuladen und zu installieren. Diese sind wie folgt:

  1. Paket-Manager-Konsole
  2. Verwenden des NuGet-Paket-Managers

2.1 Paket-Manager-Konsole

Wir können die IronXL-Bibliothek mit der Paket-Manager-Konsole installieren. Befolgen Sie die unten stehenden Schritte, um sie zu installieren:

  • Öffnen Sie die Paket-Manager-Konsole. Sie befindet sich normalerweise unten in Visual Studio.

    Paket-Manager-Konsole Paket-Manager-Konsole

  • Geben Sie den folgenden Befehl ein und drücken Sie Enter.

    Install-Package IronXL
    Install-Package IronXL
    SHELL
  • Es wird mit der Installation der IronXL-Bibliothek beginnen.

    IronXL-Installation IronXL-Installation

  • Nach der Installation können wir sie in unserem Projekt verwenden.

2.2 Installation mit NuGet-Paket-Manager

Wir können die IronXL-Bibliothek direkt aus dem NuGet-Paket-Manager installieren. Befolgen Sie diese Schritte, um IronXL zu installieren:

  • Klicken Sie in der Menüleiste auf Tools und bewegen Sie den Mauszeiger auf NuGet-Paket-Manager.

    NuGet-Paket-Manager NuGet-Paket-Manager

  • Wählen Sie NuGet-Pakete für die Lösung verwalten. Klicken Sie auf Durchsuchen und schreiben Sie IronXL in die Suchleiste. Es zeigt die IronXL-Bibliothek in den Suchergebnissen an.

    NuGet-Pakete verwalten NuGet-Pakete verwalten

  • Klicken Sie auf IronXL.Excel und dann auf die Schaltfläche Installieren. Es wird die Bibliothek automatisch installieren.

3. Installation der Syncfusion Excel-Bibliothek

Wir können die Syncfusion Excel-Bibliothek mit der Paket-Manager-Konsole installieren. Im Gegensatz zu IronXL müssen wir für verschiedene Projekte wie Windows Forms, WPF, ASP.NET, UWP und andere jede Bibliothek unterschiedlich installieren. Wir müssen verschiedene Befehle für verschiedene Plattformen schreiben.

3.1 Installation mit der Paket-Manager-Konsole

Befolgen Sie die unten stehenden Schritte, um die Syncfusion Excel-Bibliothek zu installieren:

  • Gehen Sie zur Paket-Manager-Konsole.
  • Geben Sie den folgenden Befehl ein, um die Syncfusion Excel-Bibliothek zu installieren:

    Install-Package Syncfusion.XlsIO.WinForms
    Install-Package Syncfusion.XlsIO.WinForms
    SHELL
  • Geben Sie den folgenden Befehl ein, wenn Sie an einem WPF-Projekt arbeiten:

    Install-package Syncfusion.XlsIO.Wpf
    Install-package Syncfusion.XlsIO.Wpf
    SHELL
  • Es wird mit der Installation der Bibliothek beginnen. Nach der Installation können Sie das Syncfusion Excel-Framework in Ihrem Projekt problemlos verwenden.

4. Lesen eines Excel-Dokuments

Das Lesen eines Excel-Dokuments ist eine wichtige Funktion jeder Excel-Bibliothek. Wir werden uns ansehen, wie wir Excel-Dateien mit den IronXL- und Syncfusion Excel-Frameworks lesen können.

4.1 IronXL

IronXL ermöglicht das Lesen von Excel-Dokumenten ohne Verwendung von Microsoft.Office.Interop.Excel. Bevor wir mit IronXL beginnen, gibt es einen wichtigen Schritt zu unternehmen -- wir importieren immer IronXL in unsere Programmdatei. Daher müssen wir am Anfang die folgende Codezeile schreiben:

using IronXL;
using System.Linq;
using IronXL;
using System.Linq;
Imports IronXL
Imports System.Linq
$vbLabelText   $csharpLabel

Schreiben Sie dann die folgenden Codezeilen, um Excel-Dateien zu lesen und zu bearbeiten, ohne mehrere Zeilen Code mit Wissen über die Kernprogrammierung schreiben zu müssen.

// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Select cells easily in Excel notation and return the calculated value, date, text, or formula
Dim cellValue As Integer = sheet("A2").IntValue

' Read from Ranges of cells elegantly.
For Each cell In sheet("A2:B10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

Die WorkBook.Load-Funktion hilft, das Arbeitsbuch einfach zu laden. Im gegebenen Code sehen wir auch die Werte der Zellen und drucken sie in die Konsole aus.

4.2 Syncfusion Excel

Sehen wir uns an, wie wir mit dem Syncfusion Excel-Framework vorhandene Excel-Dateien lesen und bearbeiten können. Um das Syncfusion Excel-Framework zu verwenden, müssen wir zunächst Syncfusion in unser Projekt importieren. Dazu müssen wir die folgenden Codezeilen oben in die Code-Datei einfügen:

using Syncfusion.XlsIO;
using System.Drawing;
using Syncfusion.XlsIO;
using System.Drawing;
Imports Syncfusion.XlsIO
Imports System.Drawing
$vbLabelText   $csharpLabel

Fügen Sie dann die folgenden Codezeilen in das Projekt ein, um die Excel-Dateien mit dem Syncfusion Excel-Framework zu lesen und zuzugreifen.

// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

    // Load the existing Excel workbook
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    // Get the first worksheet
    IWorksheet worksheet = workbook.Worksheets[0];

    // Assign some text in a cell
    worksheet.Range["A3"].Text = "Hello World";

    // Save the Excel document
    workbook.SaveAs("Output.xlsx");
}
// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

    // Load the existing Excel workbook
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    // Get the first worksheet
    IWorksheet worksheet = workbook.Worksheets[0];

    // Assign some text in a cell
    worksheet.Range["A3"].Text = "Hello World";

    // Save the Excel document
    workbook.SaveAs("Output.xlsx");
}
' Create an instance of new ExcelEngine
Using excelEngine As New ExcelEngine()
	' Instantiate the Excel application object
	Dim application As IApplication = excelEngine.Excel
	' Set the Excel engine application version
	application.DefaultVersion = ExcelVersion.Excel2016

	' Load the existing Excel workbook
	Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsx")

	' Get the first worksheet
	Dim worksheet As IWorksheet = workbook.Worksheets(0)

	' Assign some text in a cell
	worksheet.Range("A3").Text = "Hello World"

	' Save the Excel document
	workbook.SaveAs("Output.xlsx")
End Using
$vbLabelText   $csharpLabel

Wir sehen, dass wir in Syncfusion Excel zuerst die Excel-Version definieren müssen, um Excel-Dateien zu lesen. Dann können wir die Datei öffnen und bearbeiten. Um die geänderte Datei zu speichern, müssen wir den Inhaltstyp der geänderten Datei erneut gemäß der Excel-Version definieren. IronXL ist in diesem Fall sehr einfach zu verstehen und zu verwenden, da wir die Excel-Version nicht definieren mussten und weil wir in IronXL kleine und leicht zu merkende Funktionen mit Parametern haben.

5. Erstellen neuer Excel-Dokumente

Als nächstes werden wir die Methoden vergleichen, um neue Excel-Dokumente zu erstellen und die erstellten Dokumente mit Werten zu füllen. Zuerst werden wir sehen, wie wir Dokumente in IronXL erstellen können.

5.1 IronXL

IronXL erfordert nicht, dass Excel auf Ihrem Server oder Interop installiert ist. IronXL bietet eine schnellere und intuitivere API als Microsoft.Office.Interop.Excel. Wie wir bereits wissen, müssen wir die IronXL-Bibliothek zuerst importieren und dann den Code schreiben, um die Excel-Dateien zu erstellen. Der folgende Code wird verwendet, um Excel-Dateien in IronXL zu erstellen.

using IronXL;
// Create a new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
using IronXL;
// Create a new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
Imports IronXL
' Create a new Excel WorkBook document. 
Private xlsxWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
xlsxWorkbook.Metadata.Author = "IronXL"

' Add a blank WorkSheet
Dim xlsSheet As WorkSheet = xlsxWorkbook.CreateWorkSheet("main_sheet")

' Add data and styles to the new worksheet
xlsSheet("A1").Value = "Hello World"
xlsSheet("A2").Style.BottomBorder.SetColor("#ff6600")
xlsSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double

' Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
$vbLabelText   $csharpLabel

Ausgabe:

IronXL Ausgabe IronXL Ausgabe

Wir können die Metadaten der Excel-Dateien festlegen. Es ist sehr einfach, den Wert für Zellen festzulegen und Zellen mit einfachen und benutzerfreundlichen Funktionen zu formatieren. Wir verwenden die Style.BottomBorder.SetColor-Funktion, um die Farbe des unteren Rands der Zelle festzulegen.

5.2 Syncfusion Excel

Der folgende Code zeigt, wie man eine neue Excel-Datei erstellt und sie mit Syncfusion Excel speichert. Fügen Sie den folgenden Code hinzu und schließen Sie die erforderlichen Namensräume ein:

using Syncfusion.XlsIO;
using Syncfusion.XlsIO;
Imports Syncfusion.XlsIO
$vbLabelText   $csharpLabel

Fügen Sie nun die folgenden Codezeilen hinzu:

// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  // Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  // Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  // Create a workbook with 1 worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  // Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets[0];

  // Adding text to a cell
  worksheet.Range["A1"].Text = "Hello World";

  // Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  // Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  // Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  // Create a workbook with 1 worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  // Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets[0];

  // Adding text to a cell
  worksheet.Range["A1"].Text = "Hello World";

  // Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
' New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
' Instantiate the spreadsheet creation engine
Using excelEngine As New ExcelEngine()
  ' Instantiate the Excel application object
  Dim application As IApplication = excelEngine.Excel

  ' Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013

  ' Create a workbook with 1 worksheet
  Dim workbook As IWorkbook = application.Workbooks.Create(1)

  ' Access first worksheet from the workbook
  Dim worksheet As IWorksheet = workbook.Worksheets(0)

  ' Adding text to a cell
  worksheet.Range("A1").Text = "Hello World"

  ' Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx")
End Using
$vbLabelText   $csharpLabel

Der obige Code erstellt ein neues IWorkbook-Objekt, und dann wird ein Arbeitsblatt innerhalb des Arbeitsbuchs mithilfe der Workbooks.Create()-Funktion erstellt. Es erhält Zugriff auf die Zellen der Excel-Arbeitsblätter über die Eigenschaft "cells" und speichert schließlich die Datei mit der SaveAs()-Funktion.

6. Excel-Dateien exportieren

Als nächstes sehen wir uns an, wie wir Excel-Dateien in andere Datenformate exportieren können. Dies ist eine wichtige Funktion für Excel-Bibliotheken, weil wir manchmal Daten in verschiedenen Formaten für verschiedene Arten der Verarbeitung benötigen - daher werden wir prüfen, welche Bibliothek einfache und leicht zu bedienende Lösungen bietet.

6.1 IronXL

Mit IronXL können wir Excel-Dateien mit nur einer Codezeile konvertieren. IronXL kann Excel-Daten in CSV, JSON, XML, XLSX, XLS und noch vieles mehr exportieren.

Der folgende Code hilft, Excel-Dateien in verschiedene Formate mit IronXL zu konvertieren.

// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
' Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls")
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv")
xlsxWorkbook.SaveAsJson("NewExcelFile.json")
xlsxWorkbook.SaveAsXml("NewExcelFile.xml")
$vbLabelText   $csharpLabel

Im obigen Code sehen wir, dass wir Excel-Dateien sehr einfach mit nur einer Codezeile exportieren können. Aber, wir müssen zuerst die Excel-Datei öffnen oder erstellen, und wir haben bereits oben gesehen, wie wir mit IronXL eine Excel-Datei öffnen und erstellen können.

6.2 Syncfusion Excel

Das Syncfusion Excel-Framework kann Excel-Dateien in PDF- und JSON-Format konvertieren. Wir können Excel-Dateien in das JSON-Format konvertieren, ohne eine weitere Bibliothek zu installieren. Hier ist der Code, um eine geöffnete Excel-Datei in eine JSON-Datei zu konvertieren.

// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
' Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json")

' Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", True)
$vbLabelText   $csharpLabel

Um typische Excel-Dokumente in PDF-Dateien zu konvertieren, müssen wir eine zusätzliche Bibliothek installieren, die Unterstützung für die Konvertierung bietet. Excel-zu-ODS speichert Excel-Dateien in ODS-Formaten, um sie in verschiedenen Anwendungen wie OpenOffice und Google Sheets zu verwenden. Excel-zu-HTML rendert ein Excel-Arbeitsbuch oder Arbeitsblatt dynamisch als HTML-Datei.

7. Excel-Dateien schützen

Der Schutz ist eine der wichtigsten Funktionen von Microsoft Excel. Es gibt Ihnen die Kontrolle darüber, wer Dateien bearbeiten und öffnen kann. Passwortgeschützte Excel-Dateien sind wichtig, weil sie möglicherweise wichtige Daten speichern. Sehen wir uns an, wie wir unsere Excel-Dateien mit Excel-Bibliotheken schützen können.

7.1 IronXL

Mit IronXL können wir unsere Excel-Datei mit einer einzigen Codezeile schützen. Der folgende Code zeigt, wie wir eine Excel-Datei öffnen und schützen können.

using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// Unprotect the worksheet and remove any password locks 
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// Unprotect the worksheet and remove any password locks 
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
Imports IronXL

Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private worksheet As WorkSheet = workbook.DefaultWorkSheet

' Protect the worksheet by setting the password to it
' Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password")
workbook.Save()

' Unprotect the worksheet and remove any password locks 
' It works even if you do not know the password!
worksheet.UnprotectSheet()
workbook.Save()
$vbLabelText   $csharpLabel

Die ProtectSheet()-Funktion ermöglicht dem Benutzer, eine Excel-Datei zu verschlüsseln. Um das Blatt zu entsperren, können wir die UnprotectSheet()-Funktion nach dem Laden der Excel-Datei verwenden. Diese Funktion entfernt alle Passwörter, auch wenn Sie die Passwörter nicht kennen.

7.2 Syncfusion Excel

Wir können Excel-Dateien mit dem Syncfusion Excel-Framework schützen. Der folgende Code ermöglicht es uns, eine Excel-Datei zu erstellen und zu schützen.

private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        // Instantiate the application object
        IApplication application = excelEngine.Excel;

        // Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        // Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        // Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        // Instantiate the application object
        IApplication application = excelEngine.Excel;

        // Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        // Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        // Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
Private Sub ProtectWorkbook()
	Using excelEngine As New ExcelEngine()
		' Instantiate the application object
		Dim application As IApplication = excelEngine.Excel

		' Create a workbook
		Dim workbook As IWorkbook = application.Workbooks.Create(1)

		' Protect the workbook specifying a password with Boolean attributes for structure and windows protection
		Dim isProtectWindow As Boolean = True
		Dim isProtectContent As Boolean = True
		workbook.Protect(isProtectWindow, isProtectContent, "password")

		' Save the Excel file
		workbook.SaveAs("d:\test\XlsIOOutput_ProtectedWorkbook.xlsx")
	End Using
End Sub
$vbLabelText   $csharpLabel

Wir verwenden die Protect()-Funktion, um die Excel-Datei zu verschlüsseln. Wir müssen der Funktion drei Parameter übergeben, wenn wir nur das Blatt schützen müssen, oder wenn wir auch den Inhalt der Excel-Datei schützen müssen. Der dritte Parameter wird das Passwort sein, das Sie festlegen möchten.

8. Lizenzierung

8.1 IronXL

IronXL ist absolut kostenlos für die Entwicklung. Sie können jeden Aspekt davon für die Entwicklung ausprobieren. Aber, es wird ein Wasserzeichen in der kostenlosen Entwicklungsversion geben. Sie können es auch KOSTENLOS für die Produktion ausprobieren. Sie können die kostenlose Testversion für die Produktion ohne Bezahlung aktivieren. Wenn Sie sich entscheiden, IronXL zu kaufen, sind die Preispläne wie folgt:

Lite Edition

Sie können sich für die Lite Edition entscheiden, wenn Sie ein einzelner Entwickler sind und IronXL in Ihrem Projekt verwenden möchten. Dies wird die beste Option für Sie sein.

IronXL Lite IronXL Lite

Professional Edition

Die Professional Edition ist am besten geeignet, wenn Sie ein Unternehmen mit mehreren Niederlassungen auf der ganzen Welt haben. Diese Edition unterstützt 10 Standorte, 10 Entwickler und 10 Projekte gleichzeitig.

IronXL Professional IronXL Professional

Unlimited Edition

Dieser Preistarif unterstützt unbegrenzte Entwickler, unbegrenzte Standorte und unbegrenzte Projekte für eine Lebenszeit mit einer Zahlung. Es ist die beste Option, wenn Sie IronXL in vielen Projekten verwenden möchten.

IronXL Unlimited IronXL Unlimited

IronXL unterstützt auch die Royalty-Verteilung und bietet Ihnen Produktunterstützung und Updates.

Royalty-Verteilung Royalty-Verteilung

Die Lizenzierungsseite von IronXL enthält weitere Details zu Preisen und Nutzungsrechten.

8.2 Syncfusion Excel Library

Die Syncfusion Excel-Bibliothek bietet auch eine kostenlose Testversion an. Wenn Sie Syncfusion Excel kaufen möchten, können Sie es für $395 für ein Team von bis zu fünf Entwicklern kaufen. Syncfusion offers additional licenses for teams of 10 or more developers, and special unlimited licenses for use in single projects or for entire companies.

Syncfusion Syncfusion

9. Schlussfolgerung

Beide Bibliotheken bieten effektive Funktionen. Aber, wenn wir das große Bild betrachten, ist IronXL bequemer und einfacher zu verwenden. Es hat kleine und leicht zu merkende Funktionen. Mit der Hilfe von IronXL können Sie viele Bearbeitungen und Formatierungen mit einer einzigen Codezeile durchführen. Der Code-Fluss ist komplex, aber ein Anfänger kann ihn sehr leicht verstehen. Sie müssen keine Kenntnisse über oder Verständnis für die Funktionsweise von IronXL haben. Es ist nicht erforderlich, separate Bibliotheken für verschiedene Plattformen zu installieren. Installieren Sie es einmal, und Sie sind für jede Aktion bereit.

Syncfusion Excel hat viele Funktionen, wie wir oben gesehen haben. Wir können viele Formatierungen und Konvertierungen mit der Hilfe von Syncfusion Excel durchführen. Wir können neue Excel-Dokumente erstellen, bereits vorhandene Excel-Dateien ändern, mehrere Formatierungen durchführen und eine Verschlüsselung vornehmen. Wir müssen eine separate Bibliothek installieren, um die Konvertierungen durchzuführen.

IronXL hat eine Vielzahl von Preistarifen. Sie können den am besten für Ihre eigenen Bedürfnisse geeigneten Plan erwerben. Zum Beispiel, wenn Sie der einzige Entwickler sind und IronXL für kommerzielle Zwecke für ein Projekt benötigen, können Sie es mit einer einmaligen Zahlung aktivieren, die viel niedriger ist als bei Syncfusion, das Sie zwingt, eine Bibliothek für nur ein Jahr für mehrere hundert Dollar, für nur einen Entwickler und ein Projekt zu kaufen. Also, IronXL ist viel günstiger und bietet weit bessere Optionen als das Syncfusion Excel-Framework.

Zusammenfassend ist IronXL eine bessere Wahl als das Syncfusion Excel-Framework. Wie wir in den obigen Absätzen gesehen haben, ist es sehr einfach, IronXL dank seiner einfachen Funktionen zu verwenden, und wir können viele Formatierungen mit einer einzigen Codezeile durchführen. Aber, im Syncfusion Excel-Framework müssen wir mehrere Codezeilen schreiben, um viele Elemente zu definieren, die in IronXL bereits im Hintergrund definiert sind und der Benutzer nicht seine Zeit mit der Definition mehrerer Parameter und Variablen verbringen muss. Darüber hinaus ist IronXL auch günstiger und hat bessere Lizenzierungsoptionen. Iron Software hat derzeit ein spezielles Angebot, bei dem Sie fünf Software-Pakete zum Preis von nur zwei kaufen können. Das bedeutet, dass Sie fünf Iron Software-Pakete zu einem ermäßigten Preis kaufen können.

Hinweis:Syncfusion ist eine eingetragene Marke ihres jeweiligen Eigentümers. Diese Website ist nicht mit Syncfusion verbunden, wird nicht von Syncfusion unterstützt und nicht gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Was sind die Hauptvorteile der Verwendung von IronXL für die Verarbeitung von Excel-Dateien?

IronXL bietet eine vereinfachte und benutzerfreundliche API, die es Entwicklern ermöglicht, Excel-Dokumente einfach zu lesen, zu schreiben und zu bearbeiten. Es unterstützt mehrere Dateiformate wie XLS, XLSX, CSV und JSON und enthält Funktionen zum Datenladen, zur Diagrammerstellung, zur Formularbearbeitung und zur Zellformatierung, ohne dass eine Installation von Microsoft Excel erforderlich ist.

Wie kann ich Excel-Dateien in verschiedene Formate in C# konvertieren?

Sie können IronXL verwenden, um Excel-Dateien in verschiedene Formate wie CSV, JSON, XML, XLSX und XLS zu exportieren. Dies kann mit minimalem Codeaufwand erfolgen, was die Integration in Ihre C#-Anwendungen erleichtert.

Ist es notwendig, Excel installiert zu haben, um IronXL zu verwenden?

Nein, IronXL erfordert keine Installation von Microsoft Excel auf Ihrem Server oder Ihrer Workstation. Es bietet eine eigene API zur Bearbeitung von Excel-Dateiverarbeitungsaufgaben.

Wie vergleicht sich die Lizenzierung von IronXL mit Syncfusion Excel?

IronXL bietet eine kostenlose Entwicklungsversion mit Wasserzeichen und mehrere kostenpflichtige Editionen für den kommerziellen Einsatz, die ein flexibles Lizenzierungsmodell bieten. Im Gegensatz dazu erfordert Syncfusion Excel den Kauf einer Lizenz, deren Preis sich nach der Anzahl der Entwickler und Projekte richtet.

Was macht IronXL zu einer bevorzugten Wahl für Anfänger im Vergleich zu Syncfusion Excel?

IronXL ist aufgrund seiner einfachen und intuitiven API, die komplexe Aufgaben mit minimalem Codeaufwand ermöglicht, im Allgemeinen einfacher für Anfänger. Im Gegensatz zu Syncfusion Excel erfordert IronXL nicht die Definition mehrerer Parameter, was es für Entwickler, die neu in der Excel-Verarbeitung sind, zugänglicher macht.

Kann IronXL den Schutz und die Sicherheit von Excel-Dateien handhaben?

Ja, IronXL kann den Schutz von Excel-Dateien verwalten, indem Benutzern ermöglicht wird, ihre Dokumente mit Passwörtern und anderen Schutzfunktionen zu sichern. Dies gewährleistet die Datenintegrität und Vertraulichkeit beim Teilen von Excel-Dateien.

Warum sollten Entwickler die Verwendung von IronXL gegenüber Syncfusion Excel in Betracht ziehen?

Entwickler könnten sich für IronXL gegenüber Syncfusion Excel entscheiden wegen seiner Einfachheit, Benutzerfreundlichkeit, Kosteneffizienz und seinem robusten Funktionsumfang, der keine zusätzlichen Bibliotheken für verschiedene Plattformen erfordert. IronXL bietet einen unkomplizierten Ansatz für die Verarbeitung von Excel-Dateien und ist daher eine ideale Wahl für Entwickler.

Unterstützt IronXL die Bearbeitung von Formeln in Excel-Dateien?

Ja, IronXL unterstützt die Arbeit mit Excel-Formeln und ermöglicht es Ihnen, Formeln in Ihren Excel-Dateien zu lesen, zu schreiben und auszuwerten und bietet so eine umfassende Lösung für die programmatische Bearbeitung komplexer Berechnungen.

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