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);
IronXL ist eine funktionsreiche API, die verschiedene Funktionalitäten für die Arbeit mitExcel-Dateien in C#. In diesem Tutorial wird gezeigt, wie man mit IronXL Daten aus Excel-Tabellen in C# abrufen kann.
Um diesem Tutorial folgen zu können, benötigen Sie die folgenden Voraussetzungen:
Microsoft Visual Studio auf Ihrem Rechner installiert
Grundkenntnisse der C#-Programmierung
IronXL-Bibliothek in Ihrem Projekt installiert
Sie können IronXL von der offiziellen Website oder über den NuGet Package Manager in Visual Studio herunterladen.
Installation von IronXL in Visual Studio
Um IronXL auf einem C# Projekt zu installieren, folgen Sie bitte diesen Schritten:
Öffnen Sie Microsoft Visual Studio.
Erstellen Sie ein neues Projekt oder öffnen Sie ein bestehendes Projekt.
Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und wählen Sie "NuGet-Pakete verwalten".
Wählen Sie im Fenster "NuGet Package Manager" die Registerkarte "Durchsuchen".
Geben Sie in das Suchfeld "IronXL" ein und drücken Sie die Eingabetaste.
Wählen Sie "IronXL.Excel" und klicken Sie auf die Schaltfläche "Installieren".
Klicken Sie auf die Schaltfläche "Ich akzeptiere", um die Lizenzvereinbarung zu akzeptieren.
Warten Sie, bis die Installation abgeschlossen ist.
Installation der IronXL-Bibliothek in einem Visual Studio-Projekt
Sobald diese Schritte durchgeführt wurden, sollte IronXL installiert sein und in Ihrem C#-Projekt verwendet werden können.
Schritt 1: Importieren der erforderlichen Bibliotheken
Fügen Sie den folgenden Beispielcode hinzu, um die IronXL-Bibliothek und andere notwendige Bibliotheken zu importieren.
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows.Forms
$vbLabelText $csharpLabel
Der IronXL-Namensraum bietet alle erforderlichen Klassen und Funktionen für die Arbeit mit Excel-Dateien unter Verwendung der IronXL-Bibliothek.
Schritt 2: Laden der Excel-Datei
Der erste Schritt besteht darin, die Datei zu laden. IronXL bietet einearbeitsbuch klasse, um eine Excel-Datei zu laden. Mit der Klasse WorkBook können wir eine bestehende Excel-Datei öffnen oder eine neue Arbeitsmappe erstellen.
Um eine vorhandene Excel-Datei zu laden, verwenden Sie den folgenden Code:
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
$vbLabelText $csharpLabel
Dieser Code erstellt eine neue Arbeitsmappe im angegebenen Dateiformat(hier, XLSX).
IronXL kann Excel-Tabellen in den Dateiformaten XLS und XLSX laden und erstellen
Schritt 3: Abrufen der Excel-Tabelle
Nach dem Laden der Excel-Datei muss das Excel-Blatt angegeben werden, aus dem die Daten geholt werden sollen. Ein WorkBook kann mehrere WorkSheet-Objekte enthalten. Jedearbeitsblatt muss vor dem Zugriff auf die Daten den Namen des Arbeitsblatts angeben.
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
$vbLabelText $csharpLabel
Dieser Code ruft das erste Arbeitsblatt ab(mit Arbeitsblattname Sheet1) aus der Arbeitsmappe. Wenn Sie ein Arbeitsblatt nach Index abrufen möchten, können Sie den folgenden Code verwenden:
WorkSheet worksheet = workbook.WorkSheets [0];
WorkSheet worksheet = workbook.WorkSheets [0];
Dim worksheet As WorkSheet = workbook.WorkSheets (0)
$vbLabelText $csharpLabel
Dieser Code ruft das erste Arbeitsblatt aus der Arbeitsmappe ab, vorausgesetzt, es ist vorhanden.
Schritt 4: Abrufen von Daten aus der Excel-Tabelle
Von der abgerufenen Excel-Tabelle aus wird der Zugriff auf die Daten möglich. IronXL bietet verschiedene Methoden zum Abrufen von Daten aus einer Excel-Tabelle. Hier sind einige der am häufigsten verwendeten Methoden:
Indexer-Operator []: Ruft den Wert einer einzelnen Zelle ab.
Um den Wert einer einzelnen Zelle abzurufen, verwenden Sie den folgenden Code:
object value = worksheet ["A1"].Value;
object value = worksheet ["A1"].Value;
Dim value As Object = worksheet ("A1").Value
$vbLabelText $csharpLabel
Dieser Code ruft den Wert der Zelle A1 im Arbeitsblatt ab.
Um eine einzelne Datenzeile abzurufen, verwenden Sie den folgenden Code:
var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
$vbLabelText $csharpLabel
Mit diesem Code wird die erste Datenzeile im Arbeitsblatt abgerufen.
Um eine einzelne Spalte von Daten abzurufen, verwenden Sie den folgenden Code:
var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
$vbLabelText $csharpLabel
Mit diesem Code wird die erste Datenspalte im Arbeitsblatt abgerufen.
Um einen Bereich von Zellen abzurufen, verwenden Sie den folgenden Code:
var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
$vbLabelText $csharpLabel
Dieser Code ruft den Bereich der Zellen von A1 bis B2 im Arbeitsblatt ab.
Schritt 5: Daten aus Excel-Tabelle extrahieren
Um einen einzelnen Wert aus den abgerufenen Daten zu extrahieren, muss er in den entsprechenden Datentyp umgewandelt werden.
Der folgende Code zeigt, wie ein Ganzzahlwert aus Zelle A1 extrahiert wird:
int value = worksheet ["A1"].IntValue;
int value = worksheet ["A1"].IntValue;
Dim value As Integer = worksheet ("A1").IntValue
$vbLabelText $csharpLabel
Der folgende Code kann verwendet werden, um eine Datenzeile zu extrahieren:
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;
foreach (var value in values)
{
int intValue = (int)value;
// Do something with the extracted value
}
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;
foreach (var value in values)
{
int intValue = (int)value;
// Do something with the extracted value
}
Dim dataRow = worksheet.GetRow(1)
Dim values = dataRow.Values
For Each value In values
Dim intValue As Integer = CInt(value)
' Do something with the extracted value
Next value
$vbLabelText $csharpLabel
Dieser Code extrahiert die erste Datenzeile und iteriert durch die Werte in der Zeile, wobei jeder Wert in eine Ganzzahl umgewandelt wird.
Der folgende Code zeigt, wie man eine Datenspalte extrahiert:
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;
foreach (var value in values)
{
string strValue = (string)value;
// Do something with the extracted value
}
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;
foreach (var value in values)
{
string strValue = (string)value;
// Do something with the extracted value
}
Dim dataColumn = worksheet.GetColumn(1)
Dim values = dataColumn.Values
For Each value In values
Dim strValue As String = CStr(value)
' Do something with the extracted value
Next value
$vbLabelText $csharpLabel
Dieser Code extrahiert die erste Datenspalte und iteriert durch die Werte in der Spalte, wobei jeder Wert in eine Zeichenkette umgewandelt wird.
Das nächste Beispiel zeigt, wie man einen Bereich von Zellen extrahiert:
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;
foreach (var row in values)
{
foreach (var value in row)
{
// Do something with the extracted value
}
}
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;
foreach (var row in values)
{
foreach (var value in row)
{
// Do something with the extracted value
}
}
Dim cellRange = worksheet.GetRange("A1:B2")
Dim values = cellRange.Values
For Each row In values
For Each value In row
' Do something with the extracted value
Next value
Next row
$vbLabelText $csharpLabel
Dieser Code extrahiert den Bereich der Zellen von A1 bis B2 und durchläuft die Werte in jeder Zelle.
Schlussfolgerung
In diesem Tutorial wurde untersucht, wie man in C# mit IronXL Daten aus Excel-Blättern abruft, eine Excel-Datei lädt, das gewünschte Arbeitsblatt abruft, Daten aus dem Arbeitsblatt abruft, Daten extrahiert und Daten in eine Datenbank importiert. IronXL bietet eine funktionsreiche API für die Arbeit mit Excel-Dateien, mit der sich Excel-Daten leicht in C#-Anwendungen integrieren lassen. Mit IronXL können wir Excel-Dateien lesen und schreiben und mit ihren Daten programmatisch interagieren. Darüber hinaus können wir IronXL zur Automatisierung von Excel-Aufgaben, z. B. zur Erstellung von Berichten, einsetzen,erstellen von Diagrammenundzellen formatieren.
Mehr über IronXL
IronXL ist eine benutzerfreundliche und bequeme Bibliothek zum Lesen und Schreiben von Excel- und CSV-Dateien, mit kleinen und leicht zu merkenden Funktionen.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS Konvertieren einer Tabelle in einen Bereich in Excel
NÄCHSTES > Erstellen einer CSV-Datei in C# (Schritt-für-Schritt) Tutorial