C# Excel-Arbeitsblätter öffnen
Lernen Sie, wie Sie C#-Funktionen zum Öffnen von Excel-Arbeitsblättern verwenden, um mit Excel-Tabellen zu arbeiten und alle Dateitypen zu öffnen, einschließlich(.xls", "csv", "tsv" und "xlsx"). Ein Excel-Arbeitsblatt zu öffnen, seine Daten zu lesen und sie programmatisch zu bearbeiten, ist für viele, die Anwendungen entwickeln, unerlässlich. Hier ist eine Lösung für alle Entwickler, die eine Methode mit weniger Codezeilen und schnelleren Reaktionszeiten wünschen.
Wie öffnet man eine Excel-Datei in C#?
Wie öffnet man ein Excel-Arbeitsblatt in C#;
Installieren Sie die Excel-Bibliothek, um Excel-Dateien zu lesen.
Laden Sie die vorhandene Excel-Datei in ein "Workbook"-Objekt.
Legen Sie das Standard-Excel-Arbeitsblatt fest.
Lesen Sie den Wert aus der Excel-Arbeitsmappe.
- Verarbeiten Sie den Wert entsprechend, und zeigen Sie ihn an.
Schritt 1
1. Zugang Excel C# Bibliothek
Zugriff auf dieExcel C#-Bibliothek über DLL oder installieren Sie es mit Ihrem bevorzugtenNuGet-Manager. Sobald Sie auf die IronXL-Bibliothek zugegriffen und sie zu Ihrem Projekt hinzugefügt haben, können Sie alle unten aufgeführten Funktionen zum Öffnen von Excel-Arbeitsblättern in C# verwenden.
Install-Package IronXL.Excel
Anleitung zum Tutorial
2. Excel-Datei laden
Verwenden Sie die Funktion `WorkBook.Load()funktion von IronXL, um Excel-Dateien in das Projekt zu laden. Diese Funktion benötigt einen String-Parameter, der den Pfad der zu öffnenden Excel-Datei angibt. Siehe hier:
WorkBook wb = WorkBook.Load("Path");//Excel file path
WorkBook wb = WorkBook.Load("Path");//Excel file path
Dim wb As WorkBook = WorkBook.Load("Path") 'Excel file path
Die Excel-Datei mit dem angegebenen Pfad wird in wb
geladen. Nun müssen wir das Excel-Arbeitsblatt angeben, das geöffnet werden soll.
3. Excel WorkSheet öffnen
Um ein bestimmtes "Arbeitsblatt" einer Excel-Datei zu öffnen, bietet IronXL die Funktion "WorkBook.GetWorkSheet()funktion. Auf diese Weise können wir das Arbeitsblatt einfach über seinen Namen öffnen:
WorkSheet ws = WorkBook.GetWorkSheet("SheetName");
WorkSheet ws = WorkBook.GetWorkSheet("SheetName");
Dim ws As WorkSheet = WorkBook.GetWorkSheet("SheetName")
Das angegebene WorkSheet
wird in ws
mit all seinen Daten geöffnet. Es gibt auch einige andere Möglichkeiten, ein bestimmtes Arbeitsblatt einer Excel-Datei zu öffnen:
/**
Open Excel Worksheet
anchor-open-excel-worksheet
**/
//by sheet index
WorkSheet ws = wb.WorkSheets [0];
//for the default
WorkSheet ws = wb.DefaultWorkSheet;
//for the first sheet:
WorkSheet ws = wb.WorkSheets.First();
//for the first or default sheet:
WorkSheet ws = wb.WorkSheets.FirstOrDefault();
/**
Open Excel Worksheet
anchor-open-excel-worksheet
**/
//by sheet index
WorkSheet ws = wb.WorkSheets [0];
//for the default
WorkSheet ws = wb.DefaultWorkSheet;
//for the first sheet:
WorkSheet ws = wb.WorkSheets.First();
//for the first or default sheet:
WorkSheet ws = wb.WorkSheets.FirstOrDefault();
'''
'''Open Excel Worksheet
'''anchor-open-excel-worksheet
'''*
'by sheet index
Dim ws As WorkSheet = wb.WorkSheets (0)
'for the default
Dim ws As WorkSheet = wb.DefaultWorkSheet
'for the first sheet:
Dim ws As WorkSheet = wb.WorkSheets.First()
'for the first or default sheet:
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
Jetzt müssen wir nur noch Daten aus dem geöffneten Excel-Arbeitsblatt abrufen.
4. Daten aus WorkSheet abrufen
Wir können Daten aus einem geöffneten Excel-Arbeitsblatt auf folgende Weise abrufen:
Ermittelt einen bestimmten Zellwert von Excel
WorkSheet
.daten in einem bestimmten Bereich abrufen.
holt alle Daten aus dem Arbeitsblatt.
Anhand dieser Beispiele wollen wir uns nacheinander ansehen, wie man Daten auf verschiedene Weise abrufen kann:
4.1. Bestimmten Zellwert abrufen
Der erste Ansatz zum Abrufen von Daten aus einem Excel-Arbeitsblatt besteht darin, die spezifischen Zellwerte abzurufen. Sie kann wie folgt aufgerufen werden:
string val = ws ["Cell Address"].ToString();
string val = ws ["Cell Address"].ToString();
Dim val As String = ws ("Cell Address").ToString()
ws" ist das "Arbeitsblatt" der Excel-Datei, wie wir in den folgenden Beispielen sehen werden. Auf bestimmte Zellwerte kann auch durch Angabe von "Zeilenindex" und "Spaltenindex" zugegriffen werden
string val=ws.Rows [RowIndex].Columns [ColumnIndex].Value.ToString();
string val=ws.Rows [RowIndex].Columns [ColumnIndex].Value.ToString();
Dim val As String=ws.Rows (RowIndex).Columns (ColumnIndex).Value.ToString()
Sehen wir uns ein Beispiel an, wie wir eine Excel-Datei in unserem C#-Projekt öffnen und bestimmte Zellwerte auf beide Arten abrufen können:
/**
Get Cell Value
anchor-get-specific-cell-value
**/
using IronXL;
static void Main(string [] args)
{
//Load Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");
//Open WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//Get value By Cell Address
Int32 int_val= ws ["C6"].Int32Value;
//Get value by Row and Column Address
string str_val=ws.Rows [3].Columns [1].Value.ToString();
Console.WriteLine("Getting Value by Cell Address: {0}",int_val);
Console.WriteLine("Getting Value by Row and Column Indexes: {0}",str_val);
Console.ReadKey();
}
/**
Get Cell Value
anchor-get-specific-cell-value
**/
using IronXL;
static void Main(string [] args)
{
//Load Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");
//Open WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//Get value By Cell Address
Int32 int_val= ws ["C6"].Int32Value;
//Get value by Row and Column Address
string str_val=ws.Rows [3].Columns [1].Value.ToString();
Console.WriteLine("Getting Value by Cell Address: {0}",int_val);
Console.WriteLine("Getting Value by Row and Column Indexes: {0}",str_val);
Console.ReadKey();
}
'''
'''Get Cell Value
'''anchor-get-specific-cell-value
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
'Load Excel file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
'Open WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
'Get value By Cell Address
Dim int_val As Int32= ws ("C6").Int32Value
'Get value by Row and Column Address
Dim str_val As String=ws.Rows (3).Columns (1).Value.ToString()
Console.WriteLine("Getting Value by Cell Address: {0}",int_val)
Console.WriteLine("Getting Value by Row and Column Indexes: {0}",str_val)
Console.ReadKey()
End Sub
Dieser Code zeigt die folgende Ausgabe an:
Wert der Excel-Datei "Muster.xlsx" in "Zeile[3].Säule[1]und Zelle "C6":
Der Zeilen- und Spaltenindex beginnt bei "0".
Öffnen Sie Excel Arbeitsblätter
und holen Sie sich die spezifischen Anrufdaten, und Sie können mehr darüber lesen, wie manexcel-Daten in C# lesen aus bereits geöffneten Excel-Arbeitsblättern.
4.2. Daten aus einem bestimmten Bereich abrufen
Sehen wir uns nun an, wie man mit IronXL Daten in einem bestimmten Bereich aus einem geöffneten Excel-Arbeitsblatt abrufen kann.
IronXL bietet einen intelligenten Weg, um Daten in einem bestimmten Bereich zu erhalten. Wir geben lediglich die Werte "von" bis "bis" an:
WorkSheet ["From Cell Address : To Cell Address"];
WorkSheet ["From Cell Address : To Cell Address"];
WorkSheet ("From Cell Address : To Cell Address")
Sehen wir uns ein Beispiel dafür an, wie man mit einem Bereich Daten aus einem geöffneten Excel-Arbeitsblatt abrufen kann:
/**
Get Data from Range
anchor-get-data-from-specific-range
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//specify the range
foreach (var cell in ws ["B2:B10"])
{
Console.WriteLine("value is: {0}", cell.Text);
}
Console.ReadKey();
}
/**
Get Data from Range
anchor-get-data-from-specific-range
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//specify the range
foreach (var cell in ws ["B2:B10"])
{
Console.WriteLine("value is: {0}", cell.Text);
}
Console.ReadKey();
}
'''
'''Get Data from Range
'''anchor-get-data-from-specific-range
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
'specify the range
For Each cell In ws ("B2:B10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
Console.ReadKey()
End Sub
Der obige Code zieht Daten von "B2" bis "B10" wie folgt:
Wir können die Werte der Excel-Datei "sample.xlsx" sehen, von "B2" bis "B10":
4.3. Daten aus Zeile holen
Wir können auch einen Bereich für eine bestimmte Zeile beschreiben. Zum Beispiel:
WorkSheet ["A1:E1"]
WorkSheet ["A1:E1"]
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'WorkSheet ["A1:E1"]
Damit werden alle Werte von "A1" bis "E1" angezeigt. Lesen Sie mehr überC# Excel-Bereiche und wie man mit verschiedenen Zeilen- und Spaltenbezeichnungen arbeitet.
4.4. Alle Daten aus WorkSheet abrufen
Auch das Abrufen aller Zelldaten aus dem geöffneten Excel-Arbeitsblatt ist mit IronXL einfach. Für diese Aufgabe müssen wir auf jeden Zellwert über Zeilen- und Spaltenindizes zugreifen. Sehen wir uns das folgende Beispiel an, in dem wir alle Zellen des Arbeitsblatts durchlaufen und auf ihre Werte zugreifen wollen.
In diesem Beispiel arbeiten im Wesentlichen zwei Schleifen: eine zum Durchlaufen jeder Zeile des Excel-Arbeitsblatts und die andere zum Durchlaufen jeder Spalte einer bestimmten Zeile. Auf diese Weise kann auf jeden Zellwert leicht zugegriffen werden.
/**
Get All Data
anchor-get-all-data-from-worksheet
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample2.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//access all rows of open Excel WorkSheet
for (int i = 0; i < ws.Rows.Count(); i++)
{
//access all columns of specific row
for (int j = 0; j < ws.Columns.Count(); j++)
{
//Access each cell for specified column
Console.WriteLine(ws.Rows [i].Columns [j].Value.ToString());
}
}
Console.ReadKey();
}
/**
Get All Data
anchor-get-all-data-from-worksheet
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample2.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//access all rows of open Excel WorkSheet
for (int i = 0; i < ws.Rows.Count(); i++)
{
//access all columns of specific row
for (int j = 0; j < ws.Columns.Count(); j++)
{
//Access each cell for specified column
Console.WriteLine(ws.Rows [i].Columns [j].Value.ToString());
}
}
Console.ReadKey();
}
'''
'''Get All Data
'''anchor-get-all-data-from-worksheet
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample2.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
'access all rows of open Excel WorkSheet
For i As Integer = 0 To ws.Rows.Count() - 1
'access all columns of specific row
For j As Integer = 0 To ws.Columns.Count() - 1
'Access each cell for specified column
Console.WriteLine(ws.Rows (i).Columns (j).Value.ToString())
Next j
Next i
Console.ReadKey()
End Sub
Die Ausgabe des obigen Codes zeigt jeden Zellwert des gesamten geöffneten Excel-Arbeitsblatts an.
Tutorial Schnellzugriff
API-Referenzressource
Verwenden Sie die IronXL API-Referenz als Leitfaden für alle Funktionen und Klassen, die Sie in Ihren Projekten verwenden können, sowie für Namespaces, Methodenfelder, Enums und Feature Sets.
API-Referenzressource