C# Excel-Datei lesen Tutorial
In diesem Tutorial wird erklärt, wie man eine Excel-Datei in C# liest und alltägliche Aufgaben wie Datenvalidierung, Datenbankkonvertierung, Web-API-Integrationen und Formeländerungen durchführt. Dieser Artikel verweist auf Codebeispiele, die die IronXL for .NET Excel-Bibliothek verwenden.
Übersicht
Wie man Excel-Dateien in C# liest;
- Laden Sie die C#-Bibliothek zum Lesen von Excel-Dateien herunter
- Laden und Lesen einer Excel-Datei (Arbeitsmappe)
- Erstellen einer Excel-Arbeitsmappe in CSV oder XLSX
- Bearbeiten von Zellwerten in einem Bereich von Zellen
- Tabellenkalkulationsdaten validieren
- Daten mit Entity Framework exportieren
IronXL erleichtert das Lesen und Bearbeiten von Microsoft Excel-Dokumenten mit C#. IronXL erfordert weder Microsoft Excel noch eineInterop. In der Tat,IronXL bietet eine schnellere und intuitivere API als Microsoft.Office.Interop.Excel
.
IronXL Enthält&Kolon;
- Engagierte Produktunterstützung durch unsere .NET-Ingenieure
- Einfache Installation über Microsoft Visual Studio
Kostenloser Probetest für die Entwicklung. Lizenzen von $749.
Das Lesen und Erstellen von Excel-Dateien in C# und VB.NET ist mit der IronXL-Softwarebibliothek einfach.
Lesen von .XLS- und .XLSX-Excel-Dateien mit IronXL
Nachfolgend finden Sie eine Zusammenfassung des gesamten Arbeitsablaufs beim Lesen von Excel-Dateien mit IronXL:
Installieren Sie die IronXL-Excel-Bibliothek. Wir können dies mit unserem NuGet-Paket oder durch Herunterladen der .NET Excel DLL.
Verwenden Sie die Methode
WorkBook.Load
, um ein beliebiges XLS-, XLSX- oder CSV-Dokument zu lesen.- Abrufen von Zellwerten mit intuitiver Syntax:
Blatt["A11"].DecimalValue
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-1.cs
using IronXL;
using System;
using System.Linq;
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workBook = WorkBook.Load("test.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();
// Select cells easily in Excel notation and return the calculated 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);
}
// Advanced Operations
// 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);
Imports IronXL
Imports System
Imports System.Linq
' Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("test.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()
' Select cells easily in Excel notation and return the calculated value
Private cellValue As Integer = workSheet("A2").IntValue
' 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
' Advanced Operations
' Calculate aggregate values such as Min, Max and Sum
Dim sum As Decimal = workSheet("A2:A10").Sum()
' Linq compatible
Dim max As Decimal = workSheet("A2:A10").Max(Function(c) c.DecimalValue)
Die in den nächsten Abschnitten dieses Tutorials verwendeten Codebeispiele(zusammen mit dem Code des Beispielprojekts) wird mit drei Excel-Beispieltabellen arbeiten(siehe unten zur Veranschaulichung):
Tutorial
1. Laden Sie die IronXL C# Bibliothek kostenlos herunter
Beginnen Sie noch heute mit der Verwendung von IronXL in Ihrem Projekt mit einer kostenlosen Testversion.
Als erstes müssen wir die Bibliothek IronXL.Excel
installieren, die das .NET-Framework um Excel-Funktionen erweitert.
Die Installation von IronXL.Excel ist am einfachsten über unser NuGet-Paket möglich, Sie können aber auch dieDLL in Ihr Projekt oder in Ihren globalen Assembly-Cache.
Installieren des IronXL NuGet-Pakets
Klicken Sie in Visual Studio mit der rechten Maustaste auf das Projekt und wählen Sie "Manage NuGet Packages ..."
Suchen Sie nach dem IronXL.Excel-Paket und klicken Sie auf die Schaltfläche Installieren, um es dem Projekt hinzuzufügen
Eine weitere Möglichkeit, die IronXL-Bibliothek zu installieren, ist die Verwendung der NuGet Package Manager Console:
Öffnen Sie die Paketmanager-Konsole
- Tippen Sie
> Install-Package IronXL.Excel
PM > Install-Package IronXL.Excel
Außerdem können Siedas Paket auf der NuGet-Website anzeigen
Manuelle Installation
Alternativ können wir auch mit dem Herunterladen der IronXL.NET Excel DLL und die manuelle Installation in Visual Studio.
2. Laden einer Excel-Arbeitsmappe
Diearbeitsbuch klasse stellt ein Excel-Blatt dar. Um eine Excel-Datei mit C# zu öffnen, verwenden wir die Methode WorkBook.Load
und geben den Pfad der Excel-Datei an.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-2.cs
WorkBook workBook = WorkBook.Load(@"Spreadsheets\\GDP.xlsx");
Dim workBook As WorkBook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
Beispiel: ExcelToDBProcessor
Jedes WorkBook
kann mehrerearbeitsblatt objekte. Jedes dieser Blätter steht für ein einzelnes Excel-Arbeitsblatt im Excel-Dokument. Verwenden Sie dieworkBook.GetWorkSheet methode, um einen Verweis auf ein bestimmtes Excel-Arbeitsblatt abzurufen.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-3.cs
Beispiel: ExcelToDB
Neue Excel-Dokumente erstellen
Um ein neues Excel-Dokument zu erstellen, konstruieren Sie ein neues WorkBook
-Objekt mit einem gültigen Dateityp.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-4.cs
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
Beispiel: ApiToExcelProcessor
Hinweis: Verwenden Sie ExcelFileFormat.XLS
, um ältere Versionen von Microsoft Excel zu unterstützen(95 und früher).
Einem Excel-Dokument ein Arbeitsblatt hinzufügen
Wie bereits erläutert, enthält ein IronXL WorkBook
eine Sammlung von einem oder mehreren WorkSheets
.
Um ein neues WorkSheet
zu erstellen, rufen Sie WorkBook.CreateWorkSheet
mit dem Namen des Arbeitsblatts auf.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-5.cs
WorkSheet workSheet = workBook.GetWorkSheet("GDPByCountry");
Dim workSheet As WorkSheet = workBook.GetWorkSheet("GDPByCountry")
3. Zugriff auf Zellenwerte
Lesen und Bearbeiten einer einzelnen Zelle
Der Zugriff auf die Werte einzelner Rechenblattzellen erfolgt durch Abruf der gewünschten Zelle aus ihrem WorkSheet
. wie unten dargestellt:
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-16.cs
WorkBook workBook = WorkBook.Load("test.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
IronXL.Cell cell = workSheet["B1"].First();
Dim workBook As WorkBook = WorkBook.Load("test.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
Dim cell As IronXL.Cell = workSheet("B1").First()
IronXL'szelle klasse stellt eine einzelne Zelle in einer Excel-Tabelle dar. Sie enthält Eigenschaften und Methoden, mit denen der Benutzer direkt auf den Wert der Zelle zugreifen und ihn ändern kann.
Jedes WorkSheet
-Objekt verwaltet einen Index von Cell
-Objekten, die jedem Zellwert in einem Excel-Arbeitsblatt entsprechen. Im obigen Quellcode verweisen wir auf die gewünschte Zelle durch ihren Zeilen- und Spaltenindex(zelle B1 in diesem Fall) unter Verwendung der Standard-Array-Indexierungssyntax.
Mit einem Verweis auf das Cell-Objekt können wir Daten aus und in eine Tabellenkalkulationszelle lesen und schreiben:
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-17.cs
IronXL.Cell cell = workSheet["B1"].First();
string value = cell.StringValue; // Read the value of the cell as a string
Console.WriteLine(value);
cell.Value = "10.3289"; // Write a new value to the cell
Console.WriteLine(cell.StringValue);
Dim cell As IronXL.Cell = workSheet("B1").First()
Dim value As String = cell.StringValue ' Read the value of the cell as a string
Console.WriteLine(value)
cell.Value = "10.3289" ' Write a new value to the cell
Console.WriteLine(cell.StringValue)
Lesen und Schreiben eines Bereichs von Zellwerten
Die Klasse "Range" stellt eine zweidimensionale Sammlung von "Cell"-Objekten dar. Diese Sammlung bezieht sich auf einen wörtlichen Bereich von Excel-Zellen. Abrufen von Bereichen durch Verwendung des String-Indexers auf einem WorkSheet
-Objekt.
Das Argument text ist entweder die Koordinate einer Zelle(z. B. "A1", wie zuvor gezeigt) oder eine Spanne von Zellen von links nach rechts von oben nach unten(z.B. "B2:E5"). Es ist auch möglich, GetRange
auf einem WorkSheet
aufzurufen.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-6.cs
Range range = workSheet["D2:D101"];
Dim range As Range = workSheet("D2:D101")
Beispiel: DatenValidierung
Es gibt mehrere Möglichkeiten, die Werte von Zellen innerhalb eines Bereichs zu lesen oder zu bearbeiten. Wenn die Anzahl bekannt ist, verwenden Sie eine For-Schleife.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-7.cs
// Iterate through the rows
for (var y = 2; y <= 101; y++)
{
var result = new PersonValidationResult { Row = y };
results.Add(result);
// Get all cells for the person
var cells = workSheet[$"A{y}:E{y}"].ToList();
// Validate the phone number (1 = B)
var phoneNumber = cells[1].Value;
result.PhoneNumberErrorMessage = ValidatePhoneNumber(phoneNumberUtil, (string)phoneNumber);
// Validate the email address (3 = D)
result.EmailErrorMessage = ValidateEmailAddress((string)cells[3].Value);
// Get the raw date in the format of Month Day[suffix], Year (4 = E)
var rawDate = (string)cells[4].Value;
result.DateErrorMessage = ValidateDate(rawDate);
}
' Iterate through the rows
For y = 2 To 101
Dim result = New PersonValidationResult With {.Row = y}
results.Add(result)
' Get all cells for the person
Dim cells = workSheet($"A{y}:E{y}").ToList()
' Validate the phone number (1 = B)
Dim phoneNumber = cells(1).Value
result.PhoneNumberErrorMessage = ValidatePhoneNumber(phoneNumberUtil, CStr(phoneNumber))
' Validate the email address (3 = D)
result.EmailErrorMessage = ValidateEmailAddress(CStr(cells(3).Value))
' Get the raw date in the format of Month Day[suffix], Year (4 = E)
Dim rawDate = CStr(cells(4).Value)
result.DateErrorMessage = ValidateDate(rawDate)
Next y
Beispiel: DatenValidierung
Formel zu einem Arbeitsblatt hinzufügen
Formel von Cell
mit demformel eigentum.
Der folgende Code durchläuft jeden Zustand und gibt in Spalte C einen Gesamtprozentsatz an.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-13.cs
// Iterate through all rows with a value
for (var y = 2 ; y < i ; y++)
{
// Get the C cell
Cell cell = workSheet[$"C{y}"].First();
// Set the formula for the Percentage of Total column
cell.Formula = $"=B{y}/B{i}";
}
' Iterate through all rows with a value
Dim y = 2
Do While y < i
' Get the C cell
Dim cell As Cell = workSheet($"C{y}").First()
' Set the formula for the Percentage of Total column
cell.Formula = $"=B{y}/B{i}"
y += 1
Loop
Beispiel: AddFormulaeProcessor
Tabellenkalkulationsdaten validieren
Verwenden Sie IronXL zur Validierung eines Datenblatts. Das Beispiel DataValidation
verwendet libphonenumber-csharp
zur Überprüfung von Telefonnummern und nutzt Standard-C#-APIs zur Überprüfung von E-Mail-Adressen und Daten.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-8.cs
// Iterate through the rows
for (var i = 2; i <= 101; i++)
{
var result = new PersonValidationResult { Row = i };
results.Add(result);
// Get all cells for the person
var cells = worksheet[$"A{i}:E{i}"].ToList();
// Validate the phone number (1 = B)
var phoneNumber = cells[1].Value;
result.PhoneNumberErrorMessage = ValidatePhoneNumber(phoneNumberUtil, (string)phoneNumber);
// Validate the email address (3 = D)
result.EmailErrorMessage = ValidateEmailAddress((string)cells[3].Value);
// Get the raw date in the format of Month Day[suffix], Year (4 = E)
var rawDate = (string)cells[4].Value;
result.DateErrorMessage = ValidateDate(rawDate);
}
' Iterate through the rows
For i = 2 To 101
Dim result = New PersonValidationResult With {.Row = i}
results.Add(result)
' Get all cells for the person
Dim cells = worksheet($"A{i}:E{i}").ToList()
' Validate the phone number (1 = B)
Dim phoneNumber = cells(1).Value
result.PhoneNumberErrorMessage = ValidatePhoneNumber(phoneNumberUtil, CStr(phoneNumber))
' Validate the email address (3 = D)
result.EmailErrorMessage = ValidateEmailAddress(CStr(cells(3).Value))
' Get the raw date in the format of Month Day[suffix], Year (4 = E)
Dim rawDate = CStr(cells(4).Value)
result.DateErrorMessage = ValidateDate(rawDate)
Next i
Der obige Code durchläuft jede Zeile der Kalkulationstabelle in einer Schleife und erfasst die Zellen als Liste. Jede validates-Methode überprüft den Wert einer Zelle und gibt eine Fehlermeldung zurück, wenn der Wert ungültig ist.
Dieser Code erstellt ein neues Blatt, gibt Kopfzeilen an und gibt die Ergebnisse der Fehlermeldung aus, so dass es ein Protokoll der ungültigen Daten gibt.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-9.cs
var resultsSheet = workBook.CreateWorkSheet("Results");
resultsSheet["A1"].Value = "Row";
resultsSheet["B1"].Value = "Valid";
resultsSheet["C1"].Value = "Phone Error";
resultsSheet["D1"].Value = "Email Error";
resultsSheet["E1"].Value = "Date Error";
for (var i = 0; i < results.Count; i++)
{
var result = results[i];
resultsSheet[$"A{i + 2}"].Value = result.Row;
resultsSheet[$"B{i + 2}"].Value = result.IsValid ? "Yes" : "No";
resultsSheet[$"C{i + 2}"].Value = result.PhoneNumberErrorMessage;
resultsSheet[$"D{i + 2}"].Value = result.EmailErrorMessage;
resultsSheet[$"E{i + 2}"].Value = result.DateErrorMessage;
}
workBook.SaveAs(@"Spreadsheets\\PeopleValidated.xlsx");
Dim resultsSheet = workBook.CreateWorkSheet("Results")
resultsSheet("A1").Value = "Row"
resultsSheet("B1").Value = "Valid"
resultsSheet("C1").Value = "Phone Error"
resultsSheet("D1").Value = "Email Error"
resultsSheet("E1").Value = "Date Error"
For i = 0 To results.Count - 1
Dim result = results(i)
resultsSheet($"A{i + 2}").Value = result.Row
resultsSheet($"B{i + 2}").Value = If(result.IsValid, "Yes", "No")
resultsSheet($"C{i + 2}").Value = result.PhoneNumberErrorMessage
resultsSheet($"D{i + 2}").Value = result.EmailErrorMessage
resultsSheet($"E{i + 2}").Value = result.DateErrorMessage
Next i
workBook.SaveAs("Spreadsheets\\PeopleValidated.xlsx")
4. Daten mit Entity Framework exportieren
Mit IronXL können Sie Daten in eine Datenbank exportieren oder eine Excel-Tabelle in eine Datenbank konvertieren. Das Beispiel "ExcelToDB" liest eine Tabelle mit dem Bruttoinlandsprodukt nach Ländern und exportiert diese Daten dann in ein SQLite.
Es verwendet EntityFramework
, um die Datenbank zu erstellen und die Daten dann Zeile für Zeile zu exportieren.
Fügen Sie die SQLite Entity Framework NuGet-Pakete hinzu.
mit dem "EntityFramework" können Sie ein Modellobjekt erstellen, das Daten in die Datenbank exportieren kann.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-10.cs
public class Country
{
[Key]
public Guid Key { get; set; }
public string Name { get; set; }
public decimal GDP { get; set; }
}
Public Class Country
<Key>
Public Property Key() As Guid
Public Property Name() As String
Public Property GDP() As Decimal
End Class
Um eine andere Datenbank zu verwenden, installieren Sie das entsprechende NuGet-Paket und suchen Sie das Äquivalent von UseSqLite()
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-11.cs
public class CountryContext : DbContext
{
public DbSet<Country> Countries { get; set; }
public CountryContext()
{
//TODO: Make async
Database.EnsureCreated();
}
/// <summary>
/// Configure context to use Sqlite
/// </summary>
/// <param name="optionsBuilder"></param>
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connection = new SqliteConnection($"Data Source=Country.db");
connection.Open();
var command = connection.CreateCommand();
//Create the database if it doesn't already exist
command.CommandText = $"PRAGMA foreign_keys = ON;";
command.ExecuteNonQuery();
optionsBuilder.UseSqlite(connection);
base.OnConfiguring(optionsBuilder);
}
}
Public Class CountryContext
Inherits DbContext
Public Property Countries() As DbSet(Of Country)
Public Sub New()
'TODO: Make async
Database.EnsureCreated()
End Sub
''' <summary>
''' Configure context to use Sqlite
''' </summary>
''' <param name="optionsBuilder"></param>
Protected Overrides Sub OnConfiguring(ByVal optionsBuilder As DbContextOptionsBuilder)
Dim connection = New SqliteConnection($"Data Source=Country.db")
connection.Open()
Dim command = connection.CreateCommand()
'Create the database if it doesn't already exist
command.CommandText = $"PRAGMA foreign_keys = ON;"
command.ExecuteNonQuery()
optionsBuilder.UseSqlite(connection)
MyBase.OnConfiguring(optionsBuilder)
End Sub
End Class
Erstellen eines "CountryContext", Iteration durch den Bereich, um jeden Datensatz zu erstellen, und dann "SaveAsync", um die Daten an die Datenbank zu übertragen
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-12.cs
public async Task ProcessAsync()
{
//Get the first worksheet
var workbook = WorkBook.Load(@"Spreadsheets\\GDP.xlsx");
var worksheet = workbook.GetWorkSheet("GDPByCountry");
//Create the database connection
using (var countryContext = new CountryContext())
{
//Iterate through all the cells
for (var i = 2; i <= 213; i++)
{
//Get the range from A-B
var range = worksheet[$"A{i}:B{i}"].ToList();
//Create a Country entity to be saved to the database
var country = new Country
{
Name = (string)range[0].Value,
GDP = (decimal)(double)range[1].Value
};
//Add the entity
await countryContext.Countries.AddAsync(country);
}
//Commit changes to the database
await countryContext.SaveChangesAsync();
}
}
Public Async Function ProcessAsync() As Task
'Get the first worksheet
Dim workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
Dim worksheet = workbook.GetWorkSheet("GDPByCountry")
'Create the database connection
Using countryContext As New CountryContext()
'Iterate through all the cells
For i = 2 To 213
'Get the range from A-B
Dim range = worksheet($"A{i}:B{i}").ToList()
'Create a Country entity to be saved to the database
Dim country As New Country With {
.Name = CStr(range(0).Value),
.GDP = CDec(CDbl(range(1).Value))
}
'Add the entity
Await countryContext.Countries.AddAsync(country)
Next i
'Commit changes to the database
Await countryContext.SaveChangesAsync()
End Using
End Function
Beispiel: ExcelToDB
5. Herunterladen von Daten aus einer API in eine Tabellenkalkulation
Der folgende Aufruf macht einen REST-Aufruf mitRestClient.Net. Es lädt JSON herunter und wandelt es in eine "Liste" des Typs RestCountry
um. Es ist dann einfach, die einzelnen Länder zu durchlaufen und die Daten von der REST-API in einer Excel-Tabelle zu speichern.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-14.cs
var client = new Client(new Uri("https://restcountries.eu/rest/v2/"));
List<RestCountry> countries = await client.GetAsync<List<RestCountry>>();
Dim client As New Client(New Uri("https://restcountries.eu/rest/v2/"))
Dim countries As List(Of RestCountry) = Await client.GetAsync(Of List(Of RestCountry))()
Beispiel: ApiToExcel
So sehen die JSON-Daten der API aus.
Der folgende Code durchläuft die Länder und setzt den Namen, die Bevölkerung, die Region, den NumericCode und die 3 wichtigsten Sprachen in das Arbeitsblatt.
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-15.cs
for (var i = 2; i < countries.Count; i++)
{
var country = countries[i];
//Set the basic values
workSheet[$"A{i}"].Value = country.name;
workSheet[$"B{i}"].Value = country.population;
workSheet[$"G{i}"].Value = country.region;
workSheet[$"H{i}"].Value = country.numericCode;
//Iterate through languages
for (var x = 0; x < 3; x++)
{
if (x > (country.languages.Count - 1)) break;
var language = country.languages[x];
//Get the letter for the column
var columnLetter = GetColumnLetter(4 + x);
//Set the language name
workSheet[$"{columnLetter}{i}"].Value = language.name;
}
}
For i = 2 To countries.Count - 1
Dim country = countries(i)
'Set the basic values
workSheet($"A{i}").Value = country.name
workSheet($"B{i}").Value = country.population
workSheet($"G{i}").Value = country.region
workSheet($"H{i}").Value = country.numericCode
'Iterate through languages
For x = 0 To 2
If x > (country.languages.Count - 1) Then
Exit For
End If
Dim language = country.languages(x)
'Get the letter for the column
Dim columnLetter = GetColumnLetter(4 + x)
'Set the language name
workSheet($"{columnLetter}{i}").Value = language.name
Next x
Next i
Objektreferenz und Ressourcen
Vielleicht finden Sie auch die IronXL-Klassendokumentation innerhalb der Objektreferenz von großem Wert.
Darüber hinaus gibt es weitere Tutorien, die andere Aspekte von IronXL.Excel beleuchten, darunterErstellen von, Öffnen, Schreiben, Editieren, Speichern und Exportieren XLS-, XLSX- und CSV-Dateien ohne Verwendung von Excel Interop.
Zusammenfassung
IronXL.Excel ist eine reine .NET-Softwarebibliothek zum Lesen einer Vielzahl von Tabellenkalkulationsformaten. Es ist nicht erforderlichMicrosoft Excel installiert werden muss und nicht von Interop abhängig ist.
Wenn Sie die .NET-Bibliothek für das Ändern von Excel-Dateien nützlich finden, könnten Sie auch an folgenden Informationen interessiert seinGoogle Sheets API Client-Bibliothek für .NET, mit dem Sie Google Sheets ändern können.
Tutorial Schnellzugriff
Dieses Tutorial als C# Quellcode herunterladen
Der vollständige kostenlose C# for Excel Source Code für dieses Tutorial steht als gezippte Visual Studio 2017 Projektdatei zum Download bereit.
HerunterladenErkunden Sie dieses Tutorial auf GitHub
Der Quellcode für dieses Projekt ist in C# und VB.NET auf GitHub verfügbar.
Verwenden Sie diesen Code als einfache Möglichkeit, um in nur wenigen Minuten loszulegen. Das Projekt wird als Microsoft Visual Studio 2017 Projekt gespeichert, ist aber mit jeder .NET IDE kompatibel.
Excel-Datei in C&num lesen; auf GitHubAnsicht der API-Referenz
Entdecken Sie die API-Referenz für IronXL, die Details zu allen Funktionen, Namespaces, Klassen, Methoden, Feldern und Enums von IronXL enthält.
Ansicht der API-Referenz