I fogli di calcolo MS Excel sono ampiamente utilizzati per conservare i dati di piccole, medie o grandi dimensioni. In vari casi, i fogli di calcolo fungono da database per memorizzare i dati dell’applicazione. In tali situazioni, potrebbe essere necessario leggere i dati archiviati nei file Excel dall’interno delle applicazioni Web o desktop. In questi casi, questo articolo illustra come convertire i dati di Excel in DataTable in C#.

API di conversione da C# Excel a DataTable

Aspose.Cells for .NET è una libreria di classi che consente di implementare funzionalità di automazione di Excel all’interno delle applicazioni .NET. Inoltre, l’API consente di esportare i dati dai fogli di lavoro di Excel in ADO.NET DataTable in pochi passaggi. Puoi scaricare l’API o installarla tramite NuGet.

PM> Install-Package Aspose.Cells

Converti Excel in DataTable in C#

Potrebbero esserci due possibili scenari durante l’esportazione di dati da fogli di lavoro Excel a DataTables: i dati potrebbero essere fortemente tipizzati o non fortemente tipizzati. In entrambi i casi, puoi eseguire di conseguenza la conversione da Excel a DataTable. Diamo un’occhiata a come affrontare uno degli scenari sopra menzionati.

Converti dati Excel fortemente tipizzati in DataTable in C#

Dati fortemente tipizzati significano che i valori in una singola colonna appartengono a un particolare tipo di dati. In questi casi, puoi esportare i dati di Excel in DataTable in C# utilizzando i passaggi seguenti.

L’esempio di codice seguente mostra come esportare Excel in DataTable.

// Creare un flusso di file contenente il file Excel da aprire
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Istanziare un oggetto cartella di lavoro
//Apertura del file Excel tramite il flusso di file
Workbook workbook = new Workbook(fstream);

// Accedi al primo foglio di lavoro nel file Excel
Worksheet worksheet = workbook.Worksheets[0];

// Esporta il contenuto di 2 righe e 2 colonne a partire dalla 1a cella in DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);

// Associare DataTable con DataGrid
dataGridView1.DataSource = dataTable;

// Chiudi il flusso di file per liberare tutte le risorse
fstream.Close();

Converti dati Excel non fortemente tipizzati in DataTable in C#

Ora, diamo un’occhiata all’altro caso in cui i valori nel foglio di lavoro non sono fortemente tipizzati. Significa che non appartengono a un particolare tipo di dati. Di seguito sono riportati i passaggi per esportare i dati di Excel in DataTable in questo caso.

L’esempio di codice seguente mostra come esportare dati non fortemente tipizzati da Excel a DataTable in C#.

// Creare un flusso di file contenente il file Excel da aprire
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Istanziare un oggetto cartella di lavoro
//Apertura del file Excel tramite il flusso di file
Workbook workbook = new Workbook(fstream);

// Accedi al primo foglio di lavoro nel file Excel
Worksheet worksheet = workbook.Worksheets[0];

// Esporta il contenuto di 2 righe e 2 colonne a partire dalla 1a cella in DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);

// Associare DataTable con DataGrid
dataGridView1.DataSource = dataTable;

// Chiudi il flusso di file per liberare tutte le risorse
fstream.Close();

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare l’API senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come esportare o convertire i dati di Excel in ADO.NET DataTables usando C#. L’esercitazione dettagliata e gli esempi di codice hanno mostrato come gestire i dati fortemente tipizzati e non fortemente tipizzati nei fogli di lavoro. Puoi esplorare di più sull’API C# Excel utilizzando documentazione.

Guarda anche