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 C# per esportare i dati di Excel in DataTable
- Da Excel a DataTable in C#
- Converti dati Excel fortemente tipizzati in DataTable
- Converti dati Excel non fortemente tipizzati in DataTable
- Ottieni una licenza gratuita
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.
- Usa la classe Cartella di lavoro per caricare il file Excel.
- Ottieni il foglio di lavoro che desideri esportare in un oggetto Foglio di lavoro.
- Utilizzare il metodo Worksheet.Cells.ExportDataTable(int, int, int, int, bool) per esportare i dati in un oggetto DataTable.
- Usa DataTable come origine dati.
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.
- Usa la classe Cartella di lavoro per caricare il file Excel.
- Seleziona il foglio di lavoro che desideri esportare in un oggetto Foglio di lavoro.
- Utilizzare il metodo Worksheet.Cells.ExportDataTableAsString(int, int, int, int, bool) per esportare i dati in un oggetto DataTable.
- Usa DataTable come origine dati.
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.