Comment lire des fichiers Excel en C# (Tutoriel pour développeurs)

.NET Solution Director travaillant avec le document Microsoft Excel IO
Christian Findlay
mai 26, 2019
Mise à jour décembre 10, 2024
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Ce tutoriel explique comment lire un fichier Excel en C# ;, ainsi que d'effectuer des tâches quotidiennes telles que la validation de données, la conversion de bases de données, les intégrations d'API Web et la modification de formules. Cet article fait référence à des exemples de code qui utilisent la bibliothèque IronXL for .NET Excel.


Vue d'ensemble

IronXL facilite la lecture et l'édition de documents Microsoft Excel avec C&num ;. IronXL ne nécessite ni Microsoft Excel ni Interop. En fait, IronXL offre une API plus rapide et plus intuitive que Microsoft.Office.Interop.Excel.

IronXL Comprend&colon ;

  • Support produit dédié par nos ingénieurs .NET
  • Installation facile via Microsoft Visual Studio
  • Essai gratuit pour le développement. Licences à partir de $749.

    La lecture et la création de fichiers Excel en C# ; et VB.NET sont faciles grâce à la bibliothèque logicielle IronXL.

Lecture des fichiers Excel .XLS et .XLSX à l'aide d'IronXL

Vous trouverez ci-dessous un résumé du processus global de lecture des fichiers Excel à l'aide d'IronXL :

  1. Installez la bibliothèque IronXL Excel. Nous pouvons faire cela en utilisant notre package NuGet ou en téléchargeant le DLL .Net Excel.

  2. Utilisez la méthode WorkBook.Load pour lire tout document XLS, XLSX ou CSV.

  3. Obtenez les valeurs des cellules en utilisant une syntaxe intuitive : sheet["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)
$vbLabelText   $csharpLabel

Les exemples de code utilisés dans les sections suivantes de ce didacticiel (ainsi que le code du projet d'exemple) fonctionneront sur trois feuilles de calcul Excel d'exemple (voir ci-dessous pour un aperçu visuel) : Vs Spreadsheets related to Lecture des fichiers Excel .XLS et .XLSX à l'aide d'IronXL


Tutoriel

1. Téléchargez GRATUITEMENT la bibliothèque IronXL C&num ;

Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


La première chose à faire est d'installer la bibliothèque IronXL.Excel, ajoutant la fonctionnalité Excel au cadre .NET.

L'installation de IronXL.Excel est le plus facilement réalisée en utilisant notre package NuGet, bien que vous puissiez également choisir d'installer manuellement le DLL dans votre projet ou dans votre cache d'assemblage global.

Installation du paquetage NuGet IronXL

  1. Dans Visual Studio, faites un clic droit sur le projet et sélectionnez "Manage NuGet Packages ..."

  2. Recherchez le paquet IronXL.Excel et cliquez sur le bouton Installer pour l'ajouter au projet

    Ef Nuget related to Installation du paquetage NuGet IronXL

    Une autre façon d'installer la bibliothèque IronXL est d'utiliser la console du gestionnaire de paquets NuGet :

  3. Entrer dans la console du gestionnaire de paquets

  4. Type > Install-Package IronXL.Excel
  PM > Install-Package IronXL.Excel

De plus, vous pouvez voir le package sur le site NuGet

Installation manuelle

Alternativement, nous pouvons commencer par télécharger le fichier .NET Excel DLL d'IronXL et l'installer manuellement dans Visual Studio.

2. Charger un classeur Excel

La classe WorkBook représente une feuille Excel. Pour ouvrir un fichier Excel en C#, nous utilisons la méthode WorkBook.Load, en spécifiant le chemin du fichier Excel.

: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")
$vbLabelText   $csharpLabel

Exemple : ExcelToDBProcessor

Chaque WorkBook peut avoir plusieurs objets WorkSheet. Chacune représente une seule feuille de calcul Excel dans le document Excel. Utilisez la méthode WorkBook.GetWorkSheet pour récupérer une référence à une feuille de calcul Excel spécifique.


:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-3.cs
``

Exemple : *ExcelToDB*

### Création de nouveaux documents Excel

Pour créer un nouveau document Excel, construisez un nouvel objet `WorkBook` avec un type de fichier valide.

```cs
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-4.cs

Exemple : ApiToExcelProcessor

Remarque : Utilisez ExcelFileFormat.XLS pour prendre en charge les versions héritées de Microsoft Excel (95 et antérieures).

Ajouter une feuille de calcul à un document Excel

Comme expliqué précédemment, un WorkBook IronXL contient une collection d'un ou plusieurs WorkSheets.

Voici à quoi ressemble un classeur avec deux feuilles de calcul dans Excel.

Voici à quoi ressemble un classeur avec deux feuilles de calcul dans Excel.

Pour créer une nouvelle WorkSheet, appelez WorkBook.CreateWorkSheet avec le nom de la feuille de calcul.

: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")
$vbLabelText   $csharpLabel

3. Accéder aux valeurs des cellules

Lire et éditer une seule cellule

L'accès aux valeurs des cellules individuelles de la feuille de calcul s'effectue en récupérant la cellule souhaitée depuis son WorkSheet. comme indiqué ci-dessous :

: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()
$vbLabelText   $csharpLabel

La classe Cell d'IronXL représente une cellule individuelle dans une feuille de calcul Excel. Elle contient des propriétés et des méthodes qui permettent aux utilisateurs d'accéder à la valeur de la cellule et de la modifier directement.

Chaque objet WorkSheet gère un index d'objets Cell correspondant à chaque valeur de cellule dans une feuille de calcul Excel. Dans le code source ci-dessus, nous référons la cellule souhaitée par son indice de ligne et de colonne (la cellule B1 dans ce cas) en utilisant la syntaxe standard de l'indexation de tableau.

Avec une référence à l'objet Cell, nous pouvons lire et écrire des données dans une cellule de feuille de calcul :

: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)
$vbLabelText   $csharpLabel

Lire et écrire une plage de valeurs de cellules

La classe Range représente une collection bidimensionnelle d'objets Cell. Cette collection fait référence à une plage littérale de cellules Excel. Obtenez des plages en utilisant l'indexeur de chaîne sur un objet WorkSheet.

Le texte de l'argument est soit la coordonnée d'une cellule (par exemple "A1", comme indiqué précédemment) soit une étendue de cellules de gauche à droite de haut en bas (par exemple "B2:E5"). Il est également possible d'appeler GetRange sur un WorkSheet.

: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")
$vbLabelText   $csharpLabel

Exemple : DataValidation

Il existe plusieurs façons de lire ou de modifier les valeurs des cellules d'une plage. Si le nombre est connu, utilisez une boucle For.

: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
$vbLabelText   $csharpLabel

Exemple : DataValidation

Ajouter une formule à une feuille de calcul

Définissez la formule des Celles avec la propriété Formula.

Le code ci-dessous parcourt chaque État et inscrit un pourcentage total dans la colonne C.

: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
$vbLabelText   $csharpLabel

Exemple : AddFormulaeProcessor

Valider les données d'une feuille de calcul

Utilisez IronXL pour valider une feuille de données. L'exemple DataValidation utilise libphonenumber-csharp pour valider les numéros de téléphone et utilise les API standard C# pour valider les adresses email et les dates.

: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
$vbLabelText   $csharpLabel

Le code ci-dessus parcourt en boucle chaque ligne de la feuille de calcul et récupère les cellules sous forme de liste. Chaque méthode validates vérifie la valeur d'une cellule et renvoie un message d'erreur si la valeur n'est pas valide.

Ce code crée une nouvelle feuille, spécifie les en-têtes et affiche les résultats du message d'erreur de manière à ce qu'il y ait un journal des données non valides.

: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")
$vbLabelText   $csharpLabel

4. Exporter des données à l'aide d'Entity Framework

Utilisez IronXL pour exporter des données vers une base de données ou pour convertir une feuille de calcul Excel en base de données. L'exemple ExcelToDB lit une feuille de calcul contenant le PIB par pays, puis exporte ces données vers un SQLite.

Il utilise EntityFramework pour construire la base de données puis exporter les données ligne par ligne.

Ajouter les paquets NuGet SQLite Entity Framework. Ironxl Nuget related to 4. Exporter des données à l'aide d'Entity Framework EntityFramework vous permet de créer un objet modèle pouvant exporter des données vers la base de données.

: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
$vbLabelText   $csharpLabel

Pour utiliser une base de données différente, installez le package NuGet correspondant et trouvez l'équivalent de 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
$vbLabelText   $csharpLabel

Créez un CountryContext, parcourez la plage pour créer chaque enregistrement, puis utilisez SaveAsync pour valider les données dans la base de données

: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
$vbLabelText   $csharpLabel

Exemple : ExcelToDB

5. Télécharger des données d'une API vers une feuille de calcul

L'appel suivant effectue un appel REST avec RestClient.Net. Il télécharge le JSON et le convertit en une "Liste" du type RestCountry. Il est ensuite facile de parcourir chaque pays et d'enregistrer les données de l'API REST dans une feuille de calcul Excel.

: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))()
$vbLabelText   $csharpLabel

Exemple : ApiToExcel

Voici à quoi ressemblent les données JSON de l'API.

Country Data related to 5. Télécharger des données d'une API vers une feuille de calcul

Le code suivant parcourt les pays et définit le nom, la population, la région, le code numérique et les trois principales langues dans la feuille de calcul.

: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
$vbLabelText   $csharpLabel

Référence d'objets et ressources

Vous pouvez également trouver la [documentation de la classe IronXL](/csharp/excel/object-reference/api/" target="_blank) dans la Référence d'objet de grande valeur.

De plus, il existe d'autres tutoriels qui peuvent éclairer d'autres aspects de IronXL.Excel, y compris Créer, Ouvrir, Écrire, Modifier, Enregistrer et Exporter des fichiers XLS, XLSX et CSV sans utiliser Excel Interop.

Résumé

IronXL.Excel est une bibliothèque logicielle .NET unique pour la lecture d'une grande variété de formats de feuilles de calcul. Il n'est pas nécessaire d'avoir Microsoft Excel installé, et il ne dépend pas d'Interop.

Si vous trouvez la bibliothèque .NET utile pour modifier des fichiers Excel, vous pourriez également être intéressé par l'exploration de la bibliothèque client API Google Sheets pour .NET qui vous permet de modifier Google Sheets.


Tutoriel Accès rapide

Brand Visual Studio related to Tutoriel Accès rapide

Download this Tutorial as C# Source Code

The full free C# for Excel Source Code for this tutorial is available to download as a zipped Visual Studio 2017 project file.

Download

Explorer ce tutoriel sur GitHub

The source code for this project is available in C# and VB.NET on GitHub.

Utilisez ce code comme un moyen facile d'être opérationnel en quelques minutes. Le projet est enregistré en tant que projet Microsoft Visual Studio 2017, mais il est compatible avec n'importe quel IDE .NET.

How to Read Excel File in C# on GitHub
Github Icon related to Tutoriel Accès rapide
Documentation related to Tutoriel Accès rapide

Voir la référence de l'API

Explorez la référence API d'IronXL, qui décrit en détail toutes les fonctionnalités, les espaces de noms, les classes, les méthodes, les champs et les énums d'IronXL.

Voir la référence de l'API
.NET Solution Director travaillant avec le document Microsoft Excel IO
Chef d'équipe de développement de logiciels

Christian développe des logiciels pour l'industrie de la santé et dirige une équipe. Christian a des années d'expérience dans l'intégration avec des systèmes de toutes sortes. IronXL permet à Christian d'importer et de manipuler des données de différentes sources pour automatiser les tâches répétitives et valider les données saisies provenant de sources tierces.