using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
Öffnen einer Excel-Datei und Schreiben von Daten in C#
Regan Pun
20. Juni 2023
Aktualisiert 31. März 2024
Teilen Sie:
In diesem Artikel wird die IronXL-Bibliothek untersucht, um zu demonstrieren, wie eine Microsoft Excel-Datei geöffnet und Daten in einer C#-Konsolenanwendung geschrieben werden können.
IronXL - Eine Excel-Bibliothek
IronXL ist eine .NET Excel Library, die das Erstellen, Lesen und Bearbeiten von Excel-Dateien in C#-Anwendungen erleichtert. Es bietet eine außergewöhnliche Leistung und eine genaue Ausgabe. Die Bibliothek unterstütztalle Excel-Arbeitsmappendateiformate, einschließlich XLS, XLSX, XLSM, CSV und TSV. Außerdem können Daten in Formaten wie JSON, HTML, Binär und Byte-Array gespeichert oder exportiert werden,DataSet, oder DataTable.
IronXL auchermöglicht den Schutz von Excel-Dateien mit Benutzerkennwörtern und Berechtigungen zur Bearbeitung. Eine weitere bemerkenswerte Funktion ist die Möglichkeit, Bilder aus Excel-Arbeitsblättern hinzuzufügen, zu entfernen und zu extrahieren. Die Bibliothek bietet eine breite Palette von Excel-Funktionen, die verschiedenezelldatenformate. Diese Eigenschaften machen IronXL zu einer der benutzerfreundlichsten APIs für die Arbeit mit Excel-Dateien.
Einer der wichtigsten Vorteile von IronXL ist, dass Microsoft Excel nicht auf dem Rechner installiert sein muss, so dass weder Office Interop noch andere Abhängigkeiten erforderlich sind. Es ist mit mehreren Plattformen kompatibel und unterstützt .NET 7, 6 und 5. Es ist auch kompatibel mit .NET Core 2 und 3 sowie mit .NET Framework 4.5 und späteren Versionen für die Arbeit mit Excel-Tabellen.
Erstellen einer Konsolenanwendung
Für die Erstellung der Anwendung wird die neueste Version von Visual Studio IDE empfohlen. Visual Studio ist die offizielle IDE für die C#-Entwicklung, und es wird davon ausgegangen, dass Sie sie bereits installiert haben. Wenn Sie Visual Studio nicht installiert haben, können Sie es von der offiziellenMicrosoft Visual Studio-Website.
Folgen Sie diesen Schritten, um ein neues Projekt mit dem Namen "DemoApp" zu erstellen.
Öffnen Sie Visual Studio und klicken Sie auf Create a New Project
Neues Projekt
Wählen Sie Konsolenanwendung und klicken Sie auf Weiter
Neuer Projekttyp
Geben Sie den Namen des Projekts ein
Neuer Projektname
Wählen Sie die .NET-Version aus. Wählen Sie die stabile Version .NET 6.0.
Neues Projekt Zusatzinformationen
IronXL-Bibliothek installieren
Sobald das Projekt erstellt ist, muss die IronXL-Bibliothek im Projekt installiert werden, um sie zu verwenden. Befolgen Sie diese Schritte, um es zu installieren.
Öffnen Sie Manage NuGet Packages for Solutions entweder über Solution Explorer oder Tools.
NuGet Package Manager
Suchen Sie nach IronXL Library und wählen Sie das aktuelle Projekt aus. Klicken Sie auf Installieren.
Das IronXL-Paket in der NuGet Package Manager UI suchen und installieren
Fügen Sie den folgenden Namespace am Anfang der Datei "Program.cs" hinzu
using IronXL;
using IronXL;
Imports IronXL
$vbLabelText $csharpLabel
Öffnen einer bestehenden Excel-Datei in C#;
IronXL bietet die Möglichkeit, eine bestehende Excel-Datei zu öffnen, oder eine neue Excel-Datei zu erstellen. In diesem Beispiel wird eine bestehende Datei mit C# IronXL geöffnet.
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
$vbLabelText $csharpLabel
Wählen wir nun das erste Arbeitsblatt aus. Sie können ein Arbeitsblatt anhand der Indexnummer oder des Namens auswählen. Die Eigenschaft DefaultWorkSheet kann helfen, das erste Blatt zu erhalten.
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];
// Select worksheet by name
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];
// Select worksheet by name
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets (0)
' Select worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
$vbLabelText $csharpLabel
Der obige Code ruft das erste Blatt aus der Excel-Arbeitsmappe ab. Um eine neue Excel-Datei mit Daten zu erstellen, gehen Sie folgendermaßen vorcode-Beispielseite.
Lassen Sie uns nun mit Hilfe der IronXL-Objektbibliothek Daten in die Excel-Datei schreiben.
Daten in eine Excel-Datei schreiben in C#;
Das Schreiben von Daten in eine Excel-Datei mit IronXL ist sehr einfach. Es gibt mehrere Möglichkeiten, diese zu archivieren, aber die einfachste Methode ist die Verwendung des Excel-Zellbezugs.
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
' Access A1 cell and write the value
workSheet ("A1").Value = "Value using cell reference"
$vbLabelText $csharpLabel
Es ist auch möglich, Daten in einen Bereich von Zellen zu schreiben. Der folgende Code schreibt Daten von Zelle B1 nach B5.
workSheet ["B1:B5"].Value = "Range value";
workSheet ["B1:B5"].Value = "Range value";
workSheet ("B1:B5").Value = "Range value"
$vbLabelText $csharpLabel
Wir können den Bereich auch mit einer "for"-Schleife ausfüllen, die ihn dynamisch macht. Der Code lautet wie folgt:
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
//write the Dynamic value in one row
workSheet ["C" + i].Value = "Value: " + i;
//write the Dynamic value in another row
ws ["D" + i].Value = "Value: " + i;
}
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
//write the Dynamic value in one row
workSheet ["C" + i].Value = "Value: " + i;
//write the Dynamic value in another row
ws ["D" + i].Value = "Value: " + i;
}
'specify range in which we want to write the values
For i As Integer = 1 To 5
'write the Dynamic value in one row
workSheet ("C" & i).Value = "Value: " & i
'write the Dynamic value in another row
ws ("D" & i).Value = "Value: " & i
Next i
$vbLabelText $csharpLabel
Eine weitere Möglichkeit, Daten in eine Excel-Datei zu schreiben, ist die Verwendung des Befehlsersetzen methode.
In diesem Abschnitt wird erklärt, wie Sie die Excel-Datei mit dem neu geschriebenen Inhalt speichern.
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx")
$vbLabelText $csharpLabel
Der Code lautet wie folgt:
using System;
using IronXL;
static void Main(string [] args)
{
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
workSheet ["B1:B5"].Value = "Range value";
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
//write the Dynamic value in one row
workSheet ["C" + i].Value = "Value: " + i;
//write the Dynamic value in another row
workSheet ["D" + i].Value = "Value: " + i;
}
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workBook.SaveAs("sample.xlsx");
Console.WriteLine("successfully written in Excel File");
}
using System;
using IronXL;
static void Main(string [] args)
{
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
workSheet ["B1:B5"].Value = "Range value";
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
//write the Dynamic value in one row
workSheet ["C" + i].Value = "Value: " + i;
//write the Dynamic value in another row
workSheet ["D" + i].Value = "Value: " + i;
}
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workBook.SaveAs("sample.xlsx");
Console.WriteLine("successfully written in Excel File");
}
Imports System
Imports IronXL
Shared Sub Main(ByVal args() As String)
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets (0)
' Access A1 cell and write the value
workSheet ("A1").Value = "Value using cell reference"
workSheet ("B1:B5").Value = "Range value"
'specify range in which we want to write the values
For i As Integer = 1 To 5
'write the Dynamic value in one row
workSheet ("C" & i).Value = "Value: " & i
'write the Dynamic value in another row
workSheet ("D" & i).Value = "Value: " & i
Next i
workSheet ("D5").Replace("Value: 5", "Replaced Value")
workBook.SaveAs("sample.xlsx")
Console.WriteLine("successfully written in Excel File")
End Sub
$vbLabelText $csharpLabel
Ausführlichere Informationen über das Lesen von Excel-Dateien in C# finden Sie unterdieses Beispiel.
Ausgabe
Die Ausgabe der Datei ist:
Die Excel-Ausgabedatei
Zusammenfassung
Dieser Artikel zeigt, wie man mit IronXL in C# Daten in Excel-Dateien schreibt. IronXL bietet die Möglichkeit, mit vorhandenen Excel-Dateien zu arbeiten, ohne dass es zu Problemen kommt. Außerdem können Sie damit neue Excel-Dateien erstellen und Daten mit einer einfachen Syntax in diese Dateien schreiben. IronXL kann auch zum Lesen von Excel-Dateien verwendet werden, ohne dass die Microsoft Excel-Anwendung installiert ist. Um Daten aus Excel-Dateien zu lesen, können Sie folgendes sehencode-Beispielseite.
IronXL ist für die Entwicklung kostenlos und kann für die kommerzielle Nutzung lizenziert werden. Sie können IronXL auch kostenlos testenversuch für die kommerzielle Nutzung.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS So deaktivieren Sie die geschützte Ansicht in Excel mit C#
NÄCHSTES > Wie exportiert man große Daten von Datatable zu Excel in C#