Leggi i dati nei file Excel usando C#

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

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.

Lettura dei dati nei fogli di lavoro del file Excel in C#

Leggere un file Excel in C#

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.

Guarda anche