Comment créer un fichier Excel en C#

Comment créer des fichiers Excel en C# sans interopérabilité

This article was translated from English: Does it need improvement?
Translated
View the article in English

Apprenez à générer des fichiers Excel en C# à l'aide d'IronXL, une puissante bibliothèque Excel .NET qui crée, lit et modifie des feuilles de calcul sans dépendance à Microsoft Office. Ce tutoriel complet vous guide pas à pas dans la création de classeurs Excel par programmation, grâce à des exemples de code détaillés.

Démarrage rapide : Création simple d'un classeur Excel en une seule ligne

Utilisez IronXL pour créer un nouveau fichier Excel en un rien de temps : choisissez un format, ajoutez une feuille, définissez la valeur d'une cellule et enregistrez. C'est la méthode la plus rapide pour générer des fichiers XLSX grâce à des appels d'API intuitifs et sans aucun problème d'interopérabilité.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronXL avec le gestionnaire de packages NuGet

    PM > Install-Package IronXL.Excel

  2. Copiez et exécutez cet extrait de code.

    WorkBook book = IronXL.WorkBook.Create(IronXL.ExcelFileFormat.XLSX); book.CreateWorkSheet("Sheet1")["A1"].Value = "Hello World"; book.SaveAs("MyFile.xlsx");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Vue d'ensemble

Qu'est-ce qu'IronXL et pourquoi l'utiliser pour la création de fichiers Excel ?

IronXL est une API Excel intuitive en C# et VB qui vous permet de lire, de modifier et de créer des fichiers de tableur Excel dans .NET avec des performances exceptionnelles. Contrairement aux approches traditionnelles, il n'est pas nécessaire d'installer Microsoft Office ni d'utiliser Excel Interop, ce qui rend le déploiement plus simple et plus fiable.

IronXL prend entièrement en charge les environnements .NET 9, .NET 8, .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS et Azure.

Caractéristiques d'IronXL

  • Assistance humaine directe de notre équipe de développement .NET
  • Installation rapide avec Microsoft Visual Studio
  • GRATUIT pour le développement. Licences de $799

Comment créer et enregistrer rapidement un fichier Excel ?

Installez IronXL via NuGet ou téléchargez directement la DLL .

using IronXL;

// Create a new Excel workbook with XLSX format
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);

// Add a worksheet to the workbook
var workSheet = workBook.CreateWorkSheet("example_sheet");

// Set individual cell values using intuitive syntax
workSheet["A1"].Value = "Example";

// Set multiple cells at once using range syntax
workSheet["A2:A4"].Value = 5;

// Apply cell styling - set background color using hex code
workSheet["A5"].Style.SetBackgroundColor("#f0f0f0");

// Make text bold for better visibility
workSheet["A5:A6"].Style.Font.Bold = true;

// Add Excel formula to calculate sum
workSheet["A6"].Formula = "=SUM(A2:A4)";

// Calculate all formulas to show results
workSheet.EvaluateAll();

// Verify formula calculation worked correctly
if (workSheet["A6"].IntValue == 15) // Sum of three cells with value 5
{
    Console.WriteLine("Formula calculation successful!");
}

// Save the Excel file to disk
workBook.SaveAs("example_workbook.xlsx");
using IronXL;

// Create a new Excel workbook with XLSX format
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);

// Add a worksheet to the workbook
var workSheet = workBook.CreateWorkSheet("example_sheet");

// Set individual cell values using intuitive syntax
workSheet["A1"].Value = "Example";

// Set multiple cells at once using range syntax
workSheet["A2:A4"].Value = 5;

// Apply cell styling - set background color using hex code
workSheet["A5"].Style.SetBackgroundColor("#f0f0f0");

// Make text bold for better visibility
workSheet["A5:A6"].Style.Font.Bold = true;

// Add Excel formula to calculate sum
workSheet["A6"].Formula = "=SUM(A2:A4)";

// Calculate all formulas to show results
workSheet.EvaluateAll();

// Verify formula calculation worked correctly
if (workSheet["A6"].IntValue == 15) // Sum of three cells with value 5
{
    Console.WriteLine("Formula calculation successful!");
}

// Save the Excel file to disk
workBook.SaveAs("example_workbook.xlsx");
Imports IronXL

' Create a new Excel workbook with XLSX format
Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

' Add a worksheet to the workbook
Private workSheet = workBook.CreateWorkSheet("example_sheet")

' Set individual cell values using intuitive syntax
Private workSheet("A1").Value = "Example"

' Set multiple cells at once using range syntax
Private workSheet("A2:A4").Value = 5

' Apply cell styling - set background color using hex code
workSheet("A5").Style.SetBackgroundColor("#f0f0f0")

' Make text bold for better visibility
workSheet("A5:A6").Style.Font.Bold = True

' Add Excel formula to calculate sum
workSheet("A6").Formula = "=SUM(A2:A4)"

' Calculate all formulas to show results
workSheet.EvaluateAll()

' Verify formula calculation worked correctly
If workSheet("A6").IntValue = 15 Then ' Sum of three cells with value 5
	Console.WriteLine("Formula calculation successful!")
End If

' Save the Excel file to disk
workBook.SaveAs("example_workbook.xlsx")
$vbLabelText   $csharpLabel

Ce code illustre les principales fonctionnalités d'IronXL : création de classeurs, ajout de feuilles de calcul, définition des valeurs et des styles de cellules, utilisation de formules et enregistrement de fichiers. La classe WorkBook sert de point d'entrée pour toutes les opérations Excel, tandis que la classe WorkSheet fournit des méthodes pour manipuler les feuilles individuelles.


Étape 1

1. Comment installer la bibliothèque IronXL C# ?

Installez la bibliothèque IronXL à l'aide de NuGet ( Install-Package IronXL ) ou en téléchargeant directement la DLL .

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

Première étape :
green arrow pointer


Comment installer IronXL avec NuGet ?

Il existe trois façons d'installer le package NuGet IronXL :

  1. Gestionnaire de packages Visual Studio
  2. Invite de commandes développeur
  3. Téléchargement direct depuis NuGet.org

Installation de Visual Studio

Visual Studio fournit le gestionnaire de packages NuGet pour faciliter l'installation des packages. Accédez-y via le menu Projet ou en cliquant avec le bouton droit sur votre projet dans l'Explorateur de solutions.

Menu Projet Visual Studio affichant l'option Gérer les packages NuGet

Figure 3Accéder au Gestionnaire de packages NuGet via le menu Projet

Menu contextuel de l'Explorateur de solutions affichant l'option Gérer les packages NuGet

Figure 4Menu contextuel (clic droit) dans l'Explorateur de solutions


Après avoir cliqué sur Gérer les packages NuGet, recherchez le package IronXL.Excel et installez-le.


Le gestionnaire de packages NuGet indique que le package IronXL.Excel est prêt à être installé.

Figure 5Installation d'IronXL.Excel via le gestionnaire de packages NuGet

Installation de l'invite de commandes pour développeurs

Utilisez la console du gestionnaire de packages avec cette commande :

Install-Package IronXL.Excel

Installation par téléchargement direct

  1. Accédez à :https://www.nuget.org/packages/IronXL.Excel/
  2. Cliquez sur Télécharger le package
  3. Double-cliquez sur le package téléchargé
  4. Rechargez votre projet Visual Studio

Comment installer IronXL en téléchargeant la DLL ?

Téléchargez IronXL directement depuis :https://ironsoftware.com/csharp/excel/

La page de téléchargement du site web d'IronXL affiche les instructions d'installation et le bouton de téléchargement.

Figure 6Télécharger la bibliothèque IronXL depuis le site officiel

Référencez la bibliothèque dans votre projet :

  1. Cliquez avec le bouton droit sur la solution dans l'Explorateur de solutions.
  2. Sélectionner les références
  3. Recherchez la bibliothèque IronXL.dll
  4. Cliquez sur OK

Allons-y!

Vous êtes maintenant prêt à explorer les puissantes fonctionnalités de manipulation Excel d'IronXL !


Tutoriels pratiques

2. Comment créer un projet ASP.NET pour la génération de fichiers Excel ?

Suivez ces étapes pour créer un site web ASP.NET :

  1. Ouvrir Visual Studio
  2. Cliquez sur Fichier > Nouveau projet
  3. Sélectionnez Web sous Visual C# dans la liste Type de projet
  4. Sélectionnez une application Web ASP.NET


    Boîte de dialogue Nouveau projet de Visual Studio avec l'option Application Web ASP.NET sélectionnée

    Figure 1Create new ASP.NET project

  5. Cliquez sur OK
  6. Sélectionner le modèle de Formulaires Web

    Sélection du modèle de projet ASP.NET affichant l'option Web Forms

    Figure 2Select Web Forms template

  7. Cliquez sur OK

Une fois votre projet prêt, installez IronXL pour commencer à créer des fichiers Excel par programmation.


3. Comment créer un classeur Excel en C# ?

La création d'un nouveau classeur Excel avec IronXL ne nécessite qu'une seule ligne de code :

using IronXL;

// Create workbook with XLSX format (recommended for modern Excel)
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Alternative: Create legacy XLS format for older Excel versions
WorkBook legacyWorkbook = WorkBook.Create(ExcelFileFormat.XLS);
using IronXL;

// Create workbook with XLSX format (recommended for modern Excel)
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Alternative: Create legacy XLS format for older Excel versions
WorkBook legacyWorkbook = WorkBook.Create(ExcelFileFormat.XLS);
Imports IronXL

' Create workbook with XLSX format (recommended for modern Excel)
Private workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

' Alternative: Create legacy XLS format for older Excel versions
Private legacyWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
$vbLabelText   $csharpLabel

La méthode WorkBook.Create prend en charge les formats XLS (Excel 97-2003) et XLSX (Excel 2007+). XLSX est recommandé pour de meilleures performances et des fichiers plus petits.

3.1. Comment ajouter une feuille de travail à mon classeur ?

L'ajout de feuilles de calcul est simple :

// Create a worksheet with custom name for budget tracking
WorkSheet budgetSheet = workbook.CreateWorkSheet("2020 Budget");

// Add multiple worksheets for different purposes
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales Data");
WorkSheet inventorySheet = workbook.CreateWorkSheet("Inventory");

// Access existing worksheet by name
WorkSheet existingSheet = workbook.GetWorkSheet("2020 Budget");
// Create a worksheet with custom name for budget tracking
WorkSheet budgetSheet = workbook.CreateWorkSheet("2020 Budget");

// Add multiple worksheets for different purposes
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales Data");
WorkSheet inventorySheet = workbook.CreateWorkSheet("Inventory");

// Access existing worksheet by name
WorkSheet existingSheet = workbook.GetWorkSheet("2020 Budget");
' Create a worksheet with custom name for budget tracking
Dim budgetSheet As WorkSheet = workbook.CreateWorkSheet("2020 Budget")

' Add multiple worksheets for different purposes
Dim salesSheet As WorkSheet = workbook.CreateWorkSheet("Sales Data")
Dim inventorySheet As WorkSheet = workbook.CreateWorkSheet("Inventory")

' Access existing worksheet by name
Dim existingSheet As WorkSheet = workbook.GetWorkSheet("2020 Budget")
$vbLabelText   $csharpLabel

Un cahier d'exercices contient une ou plusieurs feuilles de travail. Chaque feuille de calcul est composée de lignes et de colonnes, avec des cellules à leurs intersections. Utilisez la méthode CreateWorkSheet pour ajouter de nouvelles feuilles à votre classeur.


4. Comment définir les valeurs des cellules dans Excel ?

4.1. Comment puis-je définir manuellement les valeurs des cellules ?

La définition des valeurs individuelles des cellules utilise une syntaxe intuitive similaire à celle d'Excel :

// Set month names in first row for annual budget spreadsheet
workSheet["A1"].Value = "January";
workSheet["B1"].Value = "February";
workSheet["C1"].Value = "March";
workSheet["D1"].Value = "April";
workSheet["E1"].Value = "May";
workSheet["F1"].Value = "June";
workSheet["G1"].Value = "July";
workSheet["H1"].Value = "August";
workSheet["I1"].Value = "September";
workSheet["J1"].Value = "October";
workSheet["K1"].Value = "November";
workSheet["L1"].Value = "December";

// Set different data types - IronXL handles conversion automatically
workSheet["A2"].Value = 1500.50m;  // Decimal for currency
workSheet["A3"].Value = DateTime.Now;  // Date values
workSheet["A4"].Value = true;  // Boolean values
// Set month names in first row for annual budget spreadsheet
workSheet["A1"].Value = "January";
workSheet["B1"].Value = "February";
workSheet["C1"].Value = "March";
workSheet["D1"].Value = "April";
workSheet["E1"].Value = "May";
workSheet["F1"].Value = "June";
workSheet["G1"].Value = "July";
workSheet["H1"].Value = "August";
workSheet["I1"].Value = "September";
workSheet["J1"].Value = "October";
workSheet["K1"].Value = "November";
workSheet["L1"].Value = "December";

// Set different data types - IronXL handles conversion automatically
workSheet["A2"].Value = 1500.50m;  // Decimal for currency
workSheet["A3"].Value = DateTime.Now;  // Date values
workSheet["A4"].Value = true;  // Boolean values
' Set month names in first row for annual budget spreadsheet
workSheet("A1").Value = "January"
workSheet("B1").Value = "February"
workSheet("C1").Value = "March"
workSheet("D1").Value = "April"
workSheet("E1").Value = "May"
workSheet("F1").Value = "June"
workSheet("G1").Value = "July"
workSheet("H1").Value = "August"
workSheet("I1").Value = "September"
workSheet("J1").Value = "October"
workSheet("K1").Value = "November"
workSheet("L1").Value = "December"

' Set different data types - IronXL handles conversion automatically
workSheet("A2").Value = 1500.50D ' Decimal for currency
workSheet("A3").Value = DateTime.Now ' Date values
workSheet("A4").Value = True ' Boolean values
$vbLabelText   $csharpLabel

La propriété Cell.Value accepte différents types de données, notamment les chaînes de caractères, les nombres, les dates et les booléens. IronXL formate automatiquement les cellules en fonction du type de données.

4.2. Comment puis-je définir dynamiquement les valeurs des cellules ?

La définition dynamique des valeurs est idéale pour les applications basées sur les données :

// Initialize random number generator for sample data
Random r = new Random();

// Populate cells with random budget data for each month
for (int i = 2; i <= 11; i++)
{
    // Set different budget categories with increasing ranges
    workSheet[$"A{i}"].Value = r.Next(1, 1000);     // Office Supplies
    workSheet[$"B{i}"].Value = r.Next(1000, 2000);  // Utilities
    workSheet[$"C{i}"].Value = r.Next(2000, 3000);  // Rent
    workSheet[$"D{i}"].Value = r.Next(3000, 4000);  // Salaries
    workSheet[$"E{i}"].Value = r.Next(4000, 5000);  // Marketing
    workSheet[$"F{i}"].Value = r.Next(5000, 6000);  // IT Services
    workSheet[$"G{i}"].Value = r.Next(6000, 7000);  // Travel
    workSheet[$"H{i}"].Value = r.Next(7000, 8000);  // Training
    workSheet[$"I{i}"].Value = r.Next(8000, 9000);  // Insurance
    workSheet[$"J{i}"].Value = r.Next(9000, 10000); // Equipment
    workSheet[$"K{i}"].Value = r.Next(10000, 11000); // Research
    workSheet[$"L{i}"].Value = r.Next(11000, 12000); // Misc
}

// Alternative: Set range of cells with same value
workSheet["A13:L13"].Value = 0; // Initialize totals row
// Initialize random number generator for sample data
Random r = new Random();

// Populate cells with random budget data for each month
for (int i = 2; i <= 11; i++)
{
    // Set different budget categories with increasing ranges
    workSheet[$"A{i}"].Value = r.Next(1, 1000);     // Office Supplies
    workSheet[$"B{i}"].Value = r.Next(1000, 2000);  // Utilities
    workSheet[$"C{i}"].Value = r.Next(2000, 3000);  // Rent
    workSheet[$"D{i}"].Value = r.Next(3000, 4000);  // Salaries
    workSheet[$"E{i}"].Value = r.Next(4000, 5000);  // Marketing
    workSheet[$"F{i}"].Value = r.Next(5000, 6000);  // IT Services
    workSheet[$"G{i}"].Value = r.Next(6000, 7000);  // Travel
    workSheet[$"H{i}"].Value = r.Next(7000, 8000);  // Training
    workSheet[$"I{i}"].Value = r.Next(8000, 9000);  // Insurance
    workSheet[$"J{i}"].Value = r.Next(9000, 10000); // Equipment
    workSheet[$"K{i}"].Value = r.Next(10000, 11000); // Research
    workSheet[$"L{i}"].Value = r.Next(11000, 12000); // Misc
}

// Alternative: Set range of cells with same value
workSheet["A13:L13"].Value = 0; // Initialize totals row
' Initialize random number generator for sample data
Dim r As New Random()

' Populate cells with random budget data for each month
For i As Integer = 2 To 11
	' Set different budget categories with increasing ranges
	workSheet($"A{i}").Value = r.Next(1, 1000) ' Office Supplies
	workSheet($"B{i}").Value = r.Next(1000, 2000) ' Utilities
	workSheet($"C{i}").Value = r.Next(2000, 3000) ' Rent
	workSheet($"D{i}").Value = r.Next(3000, 4000) ' Salaries
	workSheet($"E{i}").Value = r.Next(4000, 5000) ' Marketing
	workSheet($"F{i}").Value = r.Next(5000, 6000) ' IT Services
	workSheet($"G{i}").Value = r.Next(6000, 7000) ' Travel
	workSheet($"H{i}").Value = r.Next(7000, 8000) ' Training
	workSheet($"I{i}").Value = r.Next(8000, 9000) ' Insurance
	workSheet($"J{i}").Value = r.Next(9000, 10000) ' Equipment
	workSheet($"K{i}").Value = r.Next(10000, 11000) ' Research
	workSheet($"L{i}").Value = r.Next(11000, 12000) ' Misc
Next i

' Alternative: Set range of cells with same value
workSheet("A13:L13").Value = 0 ' Initialize totals row
$vbLabelText   $csharpLabel

L'interpolation de chaînes ( $&quot;A{i}&quot; ) facilite la référence dynamique aux cellules. L' indexeur Range prend en charge à la fois les cellules individuelles et les plages.

4.3. Comment remplir un fichier Excel à partir d'une base de données ?

L'importation de données depuis des bases de données vers Excel est une exigence courante :

using System.Data;
using System.Data.SqlClient;
using IronXL;

// Database connection setup for retrieving sales data
string connectionString = @"Data Source=ServerName;Initial Catalog=SalesDB;Integrated Security=true";
string query = "SELECT ProductName, Quantity, UnitPrice, TotalSales FROM MonthlySales";

// Create DataSet to hold query results
DataSet salesData = new DataSet();

using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection))
{
    // Fill DataSet with sales information
    adapter.Fill(salesData);
}

// Write headers for database columns
workSheet["A1"].Value = "Product Name";
workSheet["B1"].Value = "Quantity";
workSheet["C1"].Value = "Unit Price";
workSheet["D1"].Value = "Total Sales";

// Apply header formatting
workSheet["A1:D1"].Style.Font.Bold = true;
workSheet["A1:D1"].Style.SetBackgroundColor("#4472C4");
workSheet["A1:D1"].Style.Font.FontColor = "#FFFFFF";

// Populate Excel with database records
DataTable salesTable = salesData.Tables[0];
for (int row = 0; row < salesTable.Rows.Count; row++)
{
    int excelRow = row + 2; // Start from row 2 (after headers)

    workSheet[$"A{excelRow}"].Value = salesTable.Rows[row]["ProductName"].ToString();
    workSheet[$"B{excelRow}"].Value = Convert.ToInt32(salesTable.Rows[row]["Quantity"]);
    workSheet[$"C{excelRow}"].Value = Convert.ToDecimal(salesTable.Rows[row]["UnitPrice"]);
    workSheet[$"D{excelRow}"].Value = Convert.ToDecimal(salesTable.Rows[row]["TotalSales"]);

    // Format currency columns
    workSheet[$"C{excelRow}"].FormatString = "$#,##0.00";
    workSheet[$"D{excelRow}"].FormatString = "$#,##0.00";
}

// Add summary row with formulas
int summaryRow = salesTable.Rows.Count + 2;
workSheet[$"A{summaryRow}"].Value = "TOTAL";
workSheet[$"B{summaryRow}"].Formula = $"=SUM(B2:B{summaryRow-1})";
workSheet[$"D{summaryRow}"].Formula = $"=SUM(D2:D{summaryRow-1})";
using System.Data;
using System.Data.SqlClient;
using IronXL;

// Database connection setup for retrieving sales data
string connectionString = @"Data Source=ServerName;Initial Catalog=SalesDB;Integrated Security=true";
string query = "SELECT ProductName, Quantity, UnitPrice, TotalSales FROM MonthlySales";

// Create DataSet to hold query results
DataSet salesData = new DataSet();

using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection))
{
    // Fill DataSet with sales information
    adapter.Fill(salesData);
}

// Write headers for database columns
workSheet["A1"].Value = "Product Name";
workSheet["B1"].Value = "Quantity";
workSheet["C1"].Value = "Unit Price";
workSheet["D1"].Value = "Total Sales";

// Apply header formatting
workSheet["A1:D1"].Style.Font.Bold = true;
workSheet["A1:D1"].Style.SetBackgroundColor("#4472C4");
workSheet["A1:D1"].Style.Font.FontColor = "#FFFFFF";

// Populate Excel with database records
DataTable salesTable = salesData.Tables[0];
for (int row = 0; row < salesTable.Rows.Count; row++)
{
    int excelRow = row + 2; // Start from row 2 (after headers)

    workSheet[$"A{excelRow}"].Value = salesTable.Rows[row]["ProductName"].ToString();
    workSheet[$"B{excelRow}"].Value = Convert.ToInt32(salesTable.Rows[row]["Quantity"]);
    workSheet[$"C{excelRow}"].Value = Convert.ToDecimal(salesTable.Rows[row]["UnitPrice"]);
    workSheet[$"D{excelRow}"].Value = Convert.ToDecimal(salesTable.Rows[row]["TotalSales"]);

    // Format currency columns
    workSheet[$"C{excelRow}"].FormatString = "$#,##0.00";
    workSheet[$"D{excelRow}"].FormatString = "$#,##0.00";
}

// Add summary row with formulas
int summaryRow = salesTable.Rows.Count + 2;
workSheet[$"A{summaryRow}"].Value = "TOTAL";
workSheet[$"B{summaryRow}"].Formula = $"=SUM(B2:B{summaryRow-1})";
workSheet[$"D{summaryRow}"].Formula = $"=SUM(D2:D{summaryRow-1})";
Imports System.Data
Imports System.Data.SqlClient
Imports IronXL

' Database connection setup for retrieving sales data
Private connectionString As String = "Data Source=ServerName;Initial Catalog=SalesDB;Integrated Security=true"
Private query As String = "SELECT ProductName, Quantity, UnitPrice, TotalSales FROM MonthlySales"

' Create DataSet to hold query results
Private salesData As New DataSet()

Using connection As New SqlConnection(connectionString)
Using adapter As New SqlDataAdapter(query, connection)
	' Fill DataSet with sales information
	adapter.Fill(salesData)
End Using
End Using

' Write headers for database columns
workSheet("A1").Value = "Product Name"
workSheet("B1").Value = "Quantity"
workSheet("C1").Value = "Unit Price"
workSheet("D1").Value = "Total Sales"

' Apply header formatting
workSheet("A1:D1").Style.Font.Bold = True
workSheet("A1:D1").Style.SetBackgroundColor("#4472C4")
workSheet("A1:D1").Style.Font.FontColor = "#FFFFFF"

' Populate Excel with database records
Dim salesTable As DataTable = salesData.Tables(0)
For row As Integer = 0 To salesTable.Rows.Count - 1
	Dim excelRow As Integer = row + 2 ' Start from row 2 (after headers)

	workSheet($"A{excelRow}").Value = salesTable.Rows(row)("ProductName").ToString()
	workSheet($"B{excelRow}").Value = Convert.ToInt32(salesTable.Rows(row)("Quantity"))
	workSheet($"C{excelRow}").Value = Convert.ToDecimal(salesTable.Rows(row)("UnitPrice"))
	workSheet($"D{excelRow}").Value = Convert.ToDecimal(salesTable.Rows(row)("TotalSales"))

	' Format currency columns
	workSheet($"C{excelRow}").FormatString = "$#,##0.00"
	workSheet($"D{excelRow}").FormatString = "$#,##0.00"
Next row

' Add summary row with formulas
Dim summaryRow As Integer = salesTable.Rows.Count + 2
workSheet($"A{summaryRow}").Value = "TOTAL"
workSheet($"B{summaryRow}").Formula = $"=SUM(B2:B{summaryRow-1})"
workSheet($"D{summaryRow}").Formula = $"=SUM(D2:D{summaryRow-1})"
$vbLabelText   $csharpLabel

Cet exemple illustre la lecture de données Excel à partir de bases de données, l'application d'une mise en forme et l'utilisation de formules pour les calculs. La propriété FormatString permet une mise en forme personnalisée des nombres, comme dans Excel.


5. Comment appliquer une mise en forme aux cellules Excel ?

5.1. Comment puis-je définir les couleurs d'arrière-plan dans Excel ?

La mise en forme des cellules améliore la lisibilité et l'attrait visuel :

// Set header row background to light gray using hex color
workSheet["A1:L1"].Style.SetBackgroundColor("#d3d3d3");

// Apply different colors for data categorization
workSheet["A2:A11"].Style.SetBackgroundColor("#E7F3FF"); // Light blue for January
workSheet["B2:B11"].Style.SetBackgroundColor("#FFF2CC"); // Light yellow for February

// Highlight important cells with bold colors
workSheet["L12"].Style.SetBackgroundColor("#FF0000"); // Red for totals
workSheet["L12"].Style.Font.FontColor = "#FFFFFF"; // White text

// Create alternating row colors for better readability
for (int row = 2; row <= 11; row++)
{
    if (row % 2 == 0)
    {
        workSheet[$"A{row}:L{row}"].Style.SetBackgroundColor("#F2F2F2");
    }
}
// Set header row background to light gray using hex color
workSheet["A1:L1"].Style.SetBackgroundColor("#d3d3d3");

// Apply different colors for data categorization
workSheet["A2:A11"].Style.SetBackgroundColor("#E7F3FF"); // Light blue for January
workSheet["B2:B11"].Style.SetBackgroundColor("#FFF2CC"); // Light yellow for February

// Highlight important cells with bold colors
workSheet["L12"].Style.SetBackgroundColor("#FF0000"); // Red for totals
workSheet["L12"].Style.Font.FontColor = "#FFFFFF"; // White text

// Create alternating row colors for better readability
for (int row = 2; row <= 11; row++)
{
    if (row % 2 == 0)
    {
        workSheet[$"A{row}:L{row}"].Style.SetBackgroundColor("#F2F2F2");
    }
}
' Set header row background to light gray using hex color
workSheet("A1:L1").Style.SetBackgroundColor("#d3d3d3")

' Apply different colors for data categorization
workSheet("A2:A11").Style.SetBackgroundColor("#E7F3FF") ' Light blue for January
workSheet("B2:B11").Style.SetBackgroundColor("#FFF2CC") ' Light yellow for February

' Highlight important cells with bold colors
workSheet("L12").Style.SetBackgroundColor("#FF0000") ' Red for totals
workSheet("L12").Style.Font.FontColor = "#FFFFFF" ' White text

' Create alternating row colors for better readability
For row As Integer = 2 To 11
	If row Mod 2 = 0 Then
		workSheet($"A{row}:L{row}").Style.SetBackgroundColor("#F2F2F2")
	End If
Next row
$vbLabelText   $csharpLabel

La méthode Style.SetBackgroundColor accepte les codes de couleur hexadécimaux. Associez les couleurs de fond aux couleurs de police pour obtenir des feuilles de calcul d'aspect professionnel.

5.2. Comment créer des bordures dans Excel ?

Les frontières permettent de définir les régions de données et d'améliorer leur structure :

using IronXL;
using IronXL.Styles;

// Create header border - thick bottom line to separate from data
workSheet["A1:L1"].Style.TopBorder.SetColor("#000000");
workSheet["A1:L1"].Style.TopBorder.Type = BorderType.Thick;
workSheet["A1:L1"].Style.BottomBorder.SetColor("#000000");
workSheet["A1:L1"].Style.BottomBorder.Type = BorderType.Thick;

// Add right border to last column
workSheet["L2:L11"].Style.RightBorder.SetColor("#000000");
workSheet["L2:L11"].Style.RightBorder.Type = BorderType.Medium;

// Create bottom border for data area
workSheet["A11:L11"].Style.BottomBorder.SetColor("#000000");
workSheet["A11:L11"].Style.BottomBorder.Type = BorderType.Medium;

// Apply complete border around summary section
var summaryRange = workSheet["A12:L12"];
summaryRange.Style.TopBorder.Type = BorderType.Double;
summaryRange.Style.BottomBorder.Type = BorderType.Double;
summaryRange.Style.LeftBorder.Type = BorderType.Thin;
summaryRange.Style.RightBorder.Type = BorderType.Thin;
summaryRange.Style.SetBorderColor("#0070C0"); // Blue borders
using IronXL;
using IronXL.Styles;

// Create header border - thick bottom line to separate from data
workSheet["A1:L1"].Style.TopBorder.SetColor("#000000");
workSheet["A1:L1"].Style.TopBorder.Type = BorderType.Thick;
workSheet["A1:L1"].Style.BottomBorder.SetColor("#000000");
workSheet["A1:L1"].Style.BottomBorder.Type = BorderType.Thick;

// Add right border to last column
workSheet["L2:L11"].Style.RightBorder.SetColor("#000000");
workSheet["L2:L11"].Style.RightBorder.Type = BorderType.Medium;

// Create bottom border for data area
workSheet["A11:L11"].Style.BottomBorder.SetColor("#000000");
workSheet["A11:L11"].Style.BottomBorder.Type = BorderType.Medium;

// Apply complete border around summary section
var summaryRange = workSheet["A12:L12"];
summaryRange.Style.TopBorder.Type = BorderType.Double;
summaryRange.Style.BottomBorder.Type = BorderType.Double;
summaryRange.Style.LeftBorder.Type = BorderType.Thin;
summaryRange.Style.RightBorder.Type = BorderType.Thin;
summaryRange.Style.SetBorderColor("#0070C0"); // Blue borders
Imports IronXL
Imports IronXL.Styles

' Create header border - thick bottom line to separate from data
workSheet("A1:L1").Style.TopBorder.SetColor("#000000")
workSheet("A1:L1").Style.TopBorder.Type = BorderType.Thick
workSheet("A1:L1").Style.BottomBorder.SetColor("#000000")
workSheet("A1:L1").Style.BottomBorder.Type = BorderType.Thick

' Add right border to last column
workSheet("L2:L11").Style.RightBorder.SetColor("#000000")
workSheet("L2:L11").Style.RightBorder.Type = BorderType.Medium

' Create bottom border for data area
workSheet("A11:L11").Style.BottomBorder.SetColor("#000000")
workSheet("A11:L11").Style.BottomBorder.Type = BorderType.Medium

' Apply complete border around summary section
Dim summaryRange = workSheet("A12:L12")
summaryRange.Style.TopBorder.Type = BorderType.Double
summaryRange.Style.BottomBorder.Type = BorderType.Double
summaryRange.Style.LeftBorder.Type = BorderType.Thin
summaryRange.Style.RightBorder.Type = BorderType.Thin
summaryRange.Style.SetBorderColor("#0070C0") ' Blue borders
$vbLabelText   $csharpLabel

IronXL prend en charge différents types de bordures, notamment fines, moyennes, épaisses, doubles, pointillées et en pointillés. Chaque bord peut être stylisé indépendamment.


6. Comment utiliser les formules Excel en C# ?

IronXL offre une assistance performante pour les formules avec calcul automatique :

// Use built-in aggregation functions for ranges
decimal sum = workSheet["A2:A11"].Sum();
decimal avg = workSheet["B2:B11"].Avg();
decimal max = workSheet["C2:C11"].Max();
decimal min = workSheet["D2:D11"].Min();

// Assign calculated values to cells
workSheet["A12"].Value = sum;
workSheet["B12"].Value = avg;
workSheet["C12"].Value = max;
workSheet["D12"].Value = min;

// Or use Excel formulas directly
workSheet["A12"].Formula = "=SUM(A2:A11)";
workSheet["B12"].Formula = "=AVERAGE(B2:B11)";
workSheet["C12"].Formula = "=MAX(C2:C11)";
workSheet["D12"].Formula = "=MIN(D2:D11)";

// Complex formulas with multiple functions
workSheet["E12"].Formula = "=IF(SUM(E2:E11)>50000,\"Over Budget\",\"On Track\")";
workSheet["F12"].Formula = "=SUMIF(F2:F11,\">5000\")";

// Percentage calculations
workSheet["G12"].Formula = "=G11/SUM(G2:G11)*100";
workSheet["G12"].FormatString = "0.00%";

// Ensure all formulas calculate
workSheet.EvaluateAll();
// Use built-in aggregation functions for ranges
decimal sum = workSheet["A2:A11"].Sum();
decimal avg = workSheet["B2:B11"].Avg();
decimal max = workSheet["C2:C11"].Max();
decimal min = workSheet["D2:D11"].Min();

// Assign calculated values to cells
workSheet["A12"].Value = sum;
workSheet["B12"].Value = avg;
workSheet["C12"].Value = max;
workSheet["D12"].Value = min;

// Or use Excel formulas directly
workSheet["A12"].Formula = "=SUM(A2:A11)";
workSheet["B12"].Formula = "=AVERAGE(B2:B11)";
workSheet["C12"].Formula = "=MAX(C2:C11)";
workSheet["D12"].Formula = "=MIN(D2:D11)";

// Complex formulas with multiple functions
workSheet["E12"].Formula = "=IF(SUM(E2:E11)>50000,\"Over Budget\",\"On Track\")";
workSheet["F12"].Formula = "=SUMIF(F2:F11,\">5000\")";

// Percentage calculations
workSheet["G12"].Formula = "=G11/SUM(G2:G11)*100";
workSheet["G12"].FormatString = "0.00%";

// Ensure all formulas calculate
workSheet.EvaluateAll();
' Use built-in aggregation functions for ranges
Dim sum As Decimal = workSheet("A2:A11").Sum()
Dim avg As Decimal = workSheet("B2:B11").Avg()
Dim max As Decimal = workSheet("C2:C11").Max()
Dim min As Decimal = workSheet("D2:D11").Min()

' Assign calculated values to cells
workSheet("A12").Value = sum
workSheet("B12").Value = avg
workSheet("C12").Value = max
workSheet("D12").Value = min

' Or use Excel formulas directly
workSheet("A12").Formula = "=SUM(A2:A11)"
workSheet("B12").Formula = "=AVERAGE(B2:B11)"
workSheet("C12").Formula = "=MAX(C2:C11)"
workSheet("D12").Formula = "=MIN(D2:D11)"

' Complex formulas with multiple functions
workSheet("E12").Formula = "=IF(SUM(E2:E11)>50000,""Over Budget"",""On Track"")"
workSheet("F12").Formula = "=SUMIF(F2:F11,"">5000"")"

' Percentage calculations
workSheet("G12").Formula = "=G11/SUM(G2:G11)*100"
workSheet("G12").FormatString = "0.00%"

' Ensure all formulas calculate
workSheet.EvaluateAll()
$vbLabelText   $csharpLabel

La classe Range fournit des méthodes telles que Sum() , Avg() , Max() et Min() pour des calculs rapides. Pour les scénarios plus complexes, utilisez la propriété Formula pour définir directement les formules Excel.


7. Comment puis-je définir les propriétés de la feuille de calcul et d'impression ?

Utilisez IronXL pour protéger les feuilles de calcul individuelles, figer les lignes et les colonnes et définir les options de format d'impression.

7.1. Comment puis-je configurer les propriétés de la feuille de calcul ?

Protéger les feuilles de calcul et contrôler les options d'affichage :

// Protect worksheet with password to prevent unauthorized changes
workSheet.ProtectSheet("SecurePassword123");

// Freeze panes to keep headers visible while scrolling
workSheet.CreateFreezePane(0, 1); // Freeze first row
// workSheet.CreateFreezePane(1, 1); // Freeze first row and column

// Set worksheet visibility options
workSheet.ViewState = WorkSheetViewState.Visible; // or Hidden, VeryHidden

// Configure gridlines and headers
workSheet.ShowGridLines = true;
workSheet.ShowRowColHeaders = true;

// Set zoom level for better viewing
workSheet.Zoom = 85; // 85% zoom
// Protect worksheet with password to prevent unauthorized changes
workSheet.ProtectSheet("SecurePassword123");

// Freeze panes to keep headers visible while scrolling
workSheet.CreateFreezePane(0, 1); // Freeze first row
// workSheet.CreateFreezePane(1, 1); // Freeze first row and column

// Set worksheet visibility options
workSheet.ViewState = WorkSheetViewState.Visible; // or Hidden, VeryHidden

// Configure gridlines and headers
workSheet.ShowGridLines = true;
workSheet.ShowRowColHeaders = true;

// Set zoom level for better viewing
workSheet.Zoom = 85; // 85% zoom
' Protect worksheet with password to prevent unauthorized changes
workSheet.ProtectSheet("SecurePassword123")

' Freeze panes to keep headers visible while scrolling
workSheet.CreateFreezePane(0, 1) ' Freeze first row
' workSheet.CreateFreezePane(1, 1); // Freeze first row and column

' Set worksheet visibility options
workSheet.ViewState = WorkSheetViewState.Visible ' or Hidden, VeryHidden

' Configure gridlines and headers
workSheet.ShowGridLines = True
workSheet.ShowRowColHeaders = True

' Set zoom level for better viewing
workSheet.Zoom = 85 ' 85% zoom
$vbLabelText   $csharpLabel

La protection des feuilles de calcul empêche les modifications accidentelles, tandis que le gel des volets permet de garder les lignes ou colonnes importantes visibles pendant le défilement.

Feuille de calcul Excel affichant une ligne d'en-tête figée avec des données budgétaires mensuelles

Figure 7La ligne d'en-tête figée reste visible lors du défilement

Boîte de dialogue de protection Excel exigeant un mot de passe pour modifier la feuille de calcul protégée

Figure 8La protection par mot de passe empêche les modifications non autorisées

7.2. Comment configurer les paramètres de page et d'impression ?

Configurez des options d'impression professionnelles via IronXL :

using IronXL.Printing;

// Define print area to exclude empty cells
workSheet.SetPrintArea("A1:L12");

// Configure page orientation for wide data
workSheet.PrintSetup.PrintOrientation = PrintOrientation.Landscape;

// Set paper size for standard printing
workSheet.PrintSetup.PaperSize = PaperSize.A4;

// Adjust margins for better layout (in inches)
workSheet.PrintSetup.LeftMargin = 0.5;
workSheet.PrintSetup.RightMargin = 0.5;
workSheet.PrintSetup.TopMargin = 0.75;
workSheet.PrintSetup.BottomMargin = 0.75;

// Configure header and footer
workSheet.PrintSetup.HeaderMargin = 0.3;
workSheet.PrintSetup.FooterMargin = 0.3;

// Scale to fit on one page
workSheet.PrintSetup.FitToPage = true;
workSheet.PrintSetup.FitToHeight = 1;
workSheet.PrintSetup.FitToWidth = 1;

// Add print headers/footers
workSheet.Header.Center = "Monthly Budget Report";
workSheet.Footer.Left = DateTime.Now.ToShortDateString();
workSheet.Footer.Right = "Page &P of &N"; // Page numbering
using IronXL.Printing;

// Define print area to exclude empty cells
workSheet.SetPrintArea("A1:L12");

// Configure page orientation for wide data
workSheet.PrintSetup.PrintOrientation = PrintOrientation.Landscape;

// Set paper size for standard printing
workSheet.PrintSetup.PaperSize = PaperSize.A4;

// Adjust margins for better layout (in inches)
workSheet.PrintSetup.LeftMargin = 0.5;
workSheet.PrintSetup.RightMargin = 0.5;
workSheet.PrintSetup.TopMargin = 0.75;
workSheet.PrintSetup.BottomMargin = 0.75;

// Configure header and footer
workSheet.PrintSetup.HeaderMargin = 0.3;
workSheet.PrintSetup.FooterMargin = 0.3;

// Scale to fit on one page
workSheet.PrintSetup.FitToPage = true;
workSheet.PrintSetup.FitToHeight = 1;
workSheet.PrintSetup.FitToWidth = 1;

// Add print headers/footers
workSheet.Header.Center = "Monthly Budget Report";
workSheet.Footer.Left = DateTime.Now.ToShortDateString();
workSheet.Footer.Right = "Page &P of &N"; // Page numbering
Imports IronXL.Printing

' Define print area to exclude empty cells
workSheet.SetPrintArea("A1:L12")

' Configure page orientation for wide data
workSheet.PrintSetup.PrintOrientation = PrintOrientation.Landscape

' Set paper size for standard printing
workSheet.PrintSetup.PaperSize = PaperSize.A4

' Adjust margins for better layout (in inches)
workSheet.PrintSetup.LeftMargin = 0.5
workSheet.PrintSetup.RightMargin = 0.5
workSheet.PrintSetup.TopMargin = 0.75
workSheet.PrintSetup.BottomMargin = 0.75

' Configure header and footer
workSheet.PrintSetup.HeaderMargin = 0.3
workSheet.PrintSetup.FooterMargin = 0.3

' Scale to fit on one page
workSheet.PrintSetup.FitToPage = True
workSheet.PrintSetup.FitToHeight = 1
workSheet.PrintSetup.FitToWidth = 1

' Add print headers/footers
workSheet.Header.Center = "Monthly Budget Report"
workSheet.Footer.Left = DateTime.Now.ToShortDateString()
workSheet.Footer.Right = "Page &P of &N" ' Page numbering
$vbLabelText   $csharpLabel

La classe PrintSetup offre des options complètes de configuration d'impression correspondant aux paramètres d'impression d'Excel.

Aperçu avant impression Excel affichant l'orientation paysage et les paramètres de format de papier A4

Figure 9Aperçu avant impression en orientation paysage et marges personnalisées


8. Comment enregistrer mon classeur Excel ?

Enregistrez votre classeur dans différents formats :

// Save as XLSX (recommended for modern Excel)
workBook.SaveAs("Budget.xlsx");

// Save as XLS for legacy compatibility
workBook.SaveAs("Budget.xls");

// Save as CSV for data exchange
workBook.SaveAsCsv("Budget.csv");

// Save as JSON for web applications
workBook.SaveAsJson("Budget.json");

// Save to stream for web downloads or cloud storage
using (var stream = new MemoryStream())
{
    workBook.SaveAs(stream);
    byte[] excelData = stream.ToArray();
    // Send to client or save to cloud
}

// Save with specific encoding for international characters
workBook.SaveAsCsv("Budget_UTF8.csv", System.Text.Encoding.UTF8);
// Save as XLSX (recommended for modern Excel)
workBook.SaveAs("Budget.xlsx");

// Save as XLS for legacy compatibility
workBook.SaveAs("Budget.xls");

// Save as CSV for data exchange
workBook.SaveAsCsv("Budget.csv");

// Save as JSON for web applications
workBook.SaveAsJson("Budget.json");

// Save to stream for web downloads or cloud storage
using (var stream = new MemoryStream())
{
    workBook.SaveAs(stream);
    byte[] excelData = stream.ToArray();
    // Send to client or save to cloud
}

// Save with specific encoding for international characters
workBook.SaveAsCsv("Budget_UTF8.csv", System.Text.Encoding.UTF8);
' Save as XLSX (recommended for modern Excel)
workBook.SaveAs("Budget.xlsx")

' Save as XLS for legacy compatibility
workBook.SaveAs("Budget.xls")

' Save as CSV for data exchange
workBook.SaveAsCsv("Budget.csv")

' Save as JSON for web applications
workBook.SaveAsJson("Budget.json")

' Save to stream for web downloads or cloud storage
Using stream = New MemoryStream()
	workBook.SaveAs(stream)
	Dim excelData() As Byte = stream.ToArray()
	' Send to client or save to cloud
End Using

' Save with specific encoding for international characters
workBook.SaveAsCsv("Budget_UTF8.csv", System.Text.Encoding.UTF8)
$vbLabelText   $csharpLabel

IronXL prend en charge plusieurs formats d'exportation, notamment XLSX, XLS, CSV, TSV et JSON. La méthode SaveAs détermine automatiquement le format à partir de l'extension du fichier.

Résumé

Ce tutoriel a démontré comment créer des fichiers Excel en C# sans dépendance à Microsoft Office en utilisant IronXL. Vous avez appris les opérations essentielles d'Excel, notamment la création de classeurs, la manipulation des cellules, la mise en forme, l'utilisation des formules et les différentes options d'enregistrement. L'API intuitive d'IronXL simplifie l'automatisation d'Excel pour les développeurs .NET.

Pour des fonctionnalités plus avancées, explorez la fusion de cellules et la création de graphiques . Prêt à utiliser IronXL en production ? Démarrez votre essai gratuit ou consultez les options de licence .


Accès rapide au tutoriel

Logo de Visual Studio

Téléchargez ce tutoriel sous forme de code source C#

Le code source C# complet permettant de créer des fichiers Excel est disponible sous forme de fichier projet Visual Studio.

Télécharger

Explorez ce tutoriel sur GitHub

Le code source de ce projet est disponible en C# et VB.NET sur GitHub.

Utilisez ce code pour créer facilement des fichiers Excel en quelques minutes seulement. Le projet est enregistré au format Microsoft Visual Studio, mais il est compatible avec tous les environnements de développement intégrés .NET.

Créer des fichiers Excel en C# sur GitHub
Logo GitHub
icône de documentation API

Consultez la documentation de l'API IronXL.

Explorez la documentation de référence de l'API IronXL, qui détaille toutes les fonctionnalités, les espaces de noms, les classes, les méthodes et les propriétés permettant une manipulation complète d'Excel dans .NET.

Voir la référence API

Questions Fréquemment Posées

Comment puis-je créer des fichiers Excel en C# sans utiliser Interop ?

Vous pouvez créer des fichiers Excel sans Interop en utilisant IronXL, qui fournit une API simple : WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX). Cette approche fonctionne sur n'importe quelle plateforme .NET sans nécessiter l'installation de Microsoft Office.

Quelles plateformes prennent en charge la création de fichiers Excel avec C# ?

IronXL prend en charge la création de fichiers Excel sur .NET 10, .NET 9, .NET 8, .NET Core, .NET Framework 4.6.2+, fonctionnant sur les environnements Windows, macOS, Linux, Docker, Azure et AWS.

Comment installer une bibliothèque C# pour la génération Excel ?

Installez IronXL via le Gestionnaire de Packages NuGet dans Visual Studio, utilisez la commande PM> Install-Package IronXL.Excel, ou téléchargez directement depuis nuget.org.

Comment créer un nouveau classeur Excel de manière programmatique ?

Créez un classeur en utilisant IronXL avec WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX), puis ajoutez des feuilles de travail en utilisant workbook.CreateWorkSheet("SheetName").

Comment puis-je définir les valeurs des cellules dans une feuille de calcul Excel en utilisant C# ?

Définissez les valeurs des cellules dans IronXL en utilisant une syntaxe intuitive : worksheet["A1"].Value = "Hello World" ou définissez des plages : worksheet["A1:A10"].Value = 100.

Puis-je appliquer du formatage aux cellules Excel de manière programmatique ?

Oui, IronXL prend en charge un formatage complet, y compris les couleurs de fond (cell.Style.SetBackgroundColor("#FF0000")), les bordures, les polices, et les formats de nombre.

Comment utiliser les formules Excel en C# ?

Appliquez les formules en utilisant la propriété Formula de IronXL : worksheet["A1"].Formula = "=SUM(B1:B10)", ou utilisez des méthodes intégrées comme range.Sum(), range.Avg().

Comment puis-je protéger une feuille de calcul Excel avec un mot de passe ?

Protégez les feuilles de calcul dans IronXL en utilisant worksheet.ProtectSheet("YourPassword") pour prévenir les modifications non autorisées.

Comment configurer les paramètres d'impression pour les fichiers Excel ?

Définissez les propriétés d'impression en utilisant le PrintSetup de IronXL : worksheet.PrintSetup.PrintOrientation = PrintOrientation.Landscape et worksheet.SetPrintArea("A1:Z100").

Comment enregistrer un classeur Excel dans différents formats ?

Enregistrez les classeurs en utilisant la méthode SaveAs de IronXL : workbook.SaveAs("file.xlsx") pour XLSX, ou utilisez SaveAsCsv(), SaveAsJson() pour d'autres formats.

Comment remplir une feuille Excel avec des données provenant d'une base de données ?

Utilisez IronXL pour remplir les feuilles de travail en récupérant les données d'une base de données et en les définissant dans les cellules en utilisant des méthodes comme worksheet["A1"].Value = dataFromDatabase.

Comment puis-je implémenter des volets figés dans une feuille Excel en utilisant C# ?

Figez les volets dans les feuilles de travail en utilisant IronXL avec worksheet.FreezePanes(1, 1) pour verrouiller la première ligne et la première colonne pour une navigation plus facile.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur technique chez Iron Software et un ingénieur visionnaire pionnier dans la technologie des PDF en C#. En tant que développeur original derrière la base de code principale d'Iron Software, il a façonné l'architecture du produit de l'entreprise depuis sa création, ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,738,553 | Version: 2025.11 vient de sortir