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.
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

















