martedì 31 marzo 2026

C# Creazione e gestione di un file Excel tramite libreria closedxml

 

creazione Excel con .Net

In questo articolo introduttivo all'utilizzo della Libreria ClosedXML https://docs.closedxml.io/en/ vedremo come creare e gestire un file Microsoft Excel, tramite tecnologia .Net ed  il linguaggio di programmazione C# .

In particolare vedremo come creare un file Excel, impostando delle intestazioni in grassetto e valorizzando alcuni campi.

Oltre alla creazione del file Excel, anche la relativa lettura.


Creazione del progetto

Dopo aver aperto l'ambiente di sviluppo "Visual Studio 2022 Community", si crea un nuovo progetto di tipo "Windows Application", selezionando l'ultima versione del Framework, in particolare la versione 9 nel momento in cui stiamo scrivendo l'articolo.

Una volta creato il progetto, aggiungiamo alla form due pulsanti, nel primo impostiamo la proprietà "Text" con il valore "Crea Excel" e per la proprietà "Name" il valore "BtnCrea", nel secondo, per la proprietà "Text" il valore "Leggi Excel" e per la proprietà "Name" il valore "BtnLeggiExcel".

Apriamo "Nuget" e cerchiamo il componente "ClosedXML", il tutto come mostrato in figura 1.


componente ClosedXML
Figura 1 - Il componente ClosedXML


A questo punto la creazione del progetto è terminata


Stesura del codice

Passiamo in visualizzazione codice, in modo da scrivere le prime righe di codice. In alto, dove vengono dichiarati i vari "Namespace" aggiungiamo quello relativo al componente appena aggiunto.

Di seguito il frammento delle suddette dichiarazioni.


C#

using ClosedXML.Excel;


Ritorniamo in visualizzazione grafica, in modo da vedere i pulsanti, e facciamo click sul primo pulsante, quello relativo alla creazione del file "Excel".

Facciamo doppio click su questo pulsante, in modo da passare in visualizzazione codice nell'evento click del pulsante stesso.

In questo evento, verrà creato un file Excel, in particolare impostando un nome al foglio, con la valorizzazione delle celle, come intestazioni (nome, cognome e città" ) ed i relativi valori. Ogni intestazione sarà formattata in grassetto. 

Una volta creato il file, verrà salvato in una cartella del pc.

Di seguito si riporta il frammento di codice delle suddette operazioni.


C#

private void BtnCrea_Click(object sender, EventArgs e)

 {

     try

     {

 

 

         //Crea un oggetto di tipo cartella di lavoro

         using (var workbook = new XLWorkbook())

         {

             //Crea ed Imposta il nome del foglio di lavoro

             var worksheet = workbook.Worksheets.Add("Esempio Foglio");

 

             //Aggiungo le intestazioni delle colonne

             worksheet.Cell(1, 1).Value = "Nome";

             worksheet.Cell(1, 2).Value = "Cognome";

             worksheet.Cell(1, 3).Value = "Città";

                   

             //Imposto lo Stile

             worksheet.Cell(1, 1).Style.Font.Bold = true;

             worksheet.Cell(1, 2).Style.Font.Bold = true;

             worksheet.Cell(1, 3).Style.Font.Bold = true;

                   

             //Imposto i valori

             worksheet.Cell(2, 1).Value = "Emanuele";

             worksheet.Cell(2, 2).Value = "Mattei";

             worksheet.Cell(2, 3).Value = "Roma";

             //Salvo il file

             workbook.SaveAs("C:\\Varie\\nuovoExcel.xlsx");

         }

     }

     catch (Exception ex)

     {

         MessageBox.Show(ex.Message);

     }

 }


Ritorniamo in visualizzazione grafica, e facciamo doppio click sul pulsante con il testo "Leggi Excel", in modo da passare in visualizzazione codice nell'evento click del pulsante stesso.

In questo evento, visualizzeremo a video tutti le celle che sono valorizzate.

Di seguito si riporta il frammento di codice delle suddette operazioni.


C#

private void BtnLeggiExcel_Click(object sender, EventArgs e)

{

    using (var workbook = new XLWorkbook("C:\\Varie\\nuovoExcel.xlsx"))

    {

        //Leggo il primo foglio di lavoro

        var worksheet = workbook.Worksheet(1);

 

        //leggo tutte le celle del foglio di lavoro che non sono vuote

        var risultato =   worksheet.Cells(true);

        foreach (var item in risultato)

        {

            MessageBox.Show(item.Value.ToString());

                   

        }

 

              

    }

} 



Conclusioni

L'articolo ha voluto fornire al lettore una delle tante tecniche per gestire i file Microsoft Excel, con il componente CloseXML.

Un componente che semplifica la scrittura di applicazioni, fornendo al programmatore funzionalità anche molto complesse per scrivere in maniera ottimale e veloce il codice. Con questo componente possiamo estendere le nostre applicazioni, nel gestire i file Excel.

Per ulteriori approfondimenti o altro, è possibile consultare la guida presente nel seguente sito https://docs.closedxml.io/en 



Nessun commento: