I file MS Excel sono ampiamente utilizzati per archiviare dati sotto forma di righe e colonne. In vari casi, i grandi dataset vengono mantenuti anche in file Excel. Spesso è necessario leggere file Excel e recuperare dati dalle applicazioni .NET. Per ottenere ciò in pochi semplici passaggi, questo articolo mostra come leggere un file Excel in C#. In particolare, spiega come leggere un intero file Excel o solo un singolo foglio di lavoro da esso.
- Libreria C# per leggere file Excel
- Leggi i dati da un file Excel
- Leggi un foglio di lavoro in un file Excel
Libreria C# per leggere file Excel
Per leggere i dati dai fogli di lavoro, utilizzeremo Aspose.Cells for .NET. È un’API potente e ricca di funzionalità per creare e manipolare file Excel. Inoltre, ti consente di leggere facilmente i file Excel. L’API può essere scaricata dalla sezione download o installata tramite NuGet.
PM> Install-Package Aspose.Cells
Leggi un file Excel in C#
Nei file Excel, i dati sono archiviati all’interno di celle in cui ogni cella è identificata dal suo nome (A1, B3, ecc.) o dall’indice di riga e colonna. La raccolta di celle crea un foglio di lavoro e un file Excel può contenere uno o più fogli di lavoro. Infine, tutti i fogli di lavoro formano collettivamente una cartella di lavoro. Aspose.Cells per .NET usa le stesse convenzioni di denominazione per manipolare i file Excel.
Di seguito sono riportati i passaggi per leggere un file Excel e stamparne i dati utilizzando C#.
- Carica il file Excel usando la classe Cartella di lavoro.
- Crea un oggetto della classe WorksheetCollection e ottieni il riferimento dei fogli di lavoro usando Workbook.Worksheets.
- Avvia un ciclo per esaminare tutti i fogli di lavoro nella raccolta e in ogni iterazione, procedi nel seguente modo:
- Ottieni il riferimento del foglio di lavoro in un oggetto Foglio di lavoro.
- Ottieni il conteggio delle righe e delle colonne di dati nel foglio di lavoro.
- Avvia un ciclo per le righe.
- Avvia un ciclo annidato per le colonne.
- Leggi i dati da ciascuna cella utilizzando la proprietà Worksheet.Cells[i, j].Value.
Nell’esempio di codice seguente viene illustrato come leggere un file di Excel in C#.
// Carica file Excel
Workbook wb = new Workbook("excel.xlsx");
// Ottieni tutti i fogli di lavoro
WorksheetCollection collection = wb.Worksheets;
// Scorri tutti i fogli di lavoro
for (int worksheetIndex = 0; worksheetIndex < collection.Count; worksheetIndex++)
{
// Ottieni il foglio di lavoro usando il suo indice
Worksheet worksheet = collection[worksheetIndex];
// Stampa il nome del foglio di lavoro
Console.WriteLine("Worksheet: " + worksheet.Name);
// Ottieni il numero di righe e colonne
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;
// Passa attraverso le righe
for (int i = 0; i < rows; i++)
{
// Scorri ogni colonna nella riga selezionata
for (int j = 0; j < cols; j++)
{
// Valore della cella Pring
Console.Write(worksheet.Cells[i, j].Value + " | ");
}
// Stampa interruzione di riga
Console.WriteLine(" ");
}
}
Quello che segue è l’output che otteniamo nella console dopo aver eseguito l’esempio di codice sopra.
Leggi un particolare foglio di lavoro in Excel in C#
Puoi anche leggere solo un particolare foglio di lavoro nel file Excel seguendo i passaggi seguenti.
- Carica il file Excel usando la classe Cartella di lavoro.
- Ottieni il riferimento del foglio di lavoro desiderato in un oggetto Worksheet usando Workbook.Worksheets[index].
- Ottieni il conteggio delle righe e delle colonne di dati nel foglio di lavoro.
- Avvia un ciclo per le righe.
- Avvia un ciclo annidato per le colonne.
- Leggere i dati da ciascuna cella utilizzando la proprietà Worksheet.Cells[i, j].Value.
L’esempio di codice seguente mostra come leggere i dati da un particolare foglio di lavoro in C#.
// Carica file Excel
Workbook wb = new Workbook("excel.xlsx");
// Ottieni il foglio di lavoro usando il suo indice
Worksheet worksheet = wb.Worksheets[0];
// Stampa il nome del foglio di lavoro
Console.WriteLine("Worksheet: " + worksheet.Name);
// Ottieni il numero di righe e colonne
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;
// Passa attraverso le righe
for (int i = 0; i < rows; i++)
{
// Scorri ogni colonna nella riga selezionata
for (int j = 0; j < cols; j++)
{
// Valore della cella Pring
Console.Write(worksheet.Cells[i, j].Value + " | ");
}
// Stampa interruzione di riga
Console.WriteLine(" ");
}
Ottieni una licenza API gratuita
Puoi utilizzare Aspose.Cells per .NET senza limitazioni di valutazione ottenendo una licenza temporanea gratuita.
Conclusione
In questo articolo, hai imparato a leggere i file Excel in modo dinamico in C#. Con l’aiuto di esempi di codice, hai visto come leggere i dati da un particolare foglio di lavoro o da tutti i fogli di lavoro in una cartella di lavoro di Excel. Inoltre, puoi esplorare altre funzionalità di Aspose.Cells per .NET utilizzando la documentazione. In caso di domande, non esitare a farcelo sapere tramite il nostro forum.