Esportare i dati di Excel in DataTable e controllare il tipo di dati misti

Possibili Scenari di Utilizzo

Se una colonna contiene dati di vari tipi, il programma genererà un’eccezione di tipo durante l’esportazione dei dati in una DataTable. Per l’esportazione della tabella dei dati, per impostazione predefinita, Aspose.Cells valuta il tipo di dati per i valori in base al primo valore (cella) nella colonna. Quindi, se il valore è un numero, significa che il tipo di dati della colonna sarebbe numerico, il che è ragionevole. Se il primo valore è un numero ma ci sono dati alfanumerici o valori nella colonna, dovrebbe essere assegnato un tipo di dati stringa. Per far fronte a ciò, si prega di utilizzare il sovraccarico ExportDataTable che coinvolge ExportDataTableOptions e prova a impostare l’attributo booleano ExportTableOptions.CheckMixedValueType su “true” se una colonna ha sia valori numerici che stringa per evitare errori.

Esportare i dati di Excel in DataTable e controllare il tipo di dati misti

Il seguente esempio spiega l’uso della proprietà ExportTableOptions.CheckMixedValueType per esportare i dati di Excel in una tabella. Si prega di consultare il file Excel di esempio, la relativa schermata e l’output della console per un riferimento.

Codice di Esempio

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Create workbook
Workbook workbook = new Workbook("sample.xlsx");
// Access first worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Export Data Table Options
ExportTableOptions opts = new ExportTableOptions();
opts.CheckMixedValueType = true;
// Export Data Table
DataTable dt = worksheet.Cells.ExportDataTable(0, 0, 7, 5, opts);
// Display the type of DataColumn
DataColumnCollection columns = dt.Columns;
foreach (DataColumn column in columns)
{
Console.WriteLine(column.ColumnName + " = " + column.DataType);
}

Screenshot




Output della console

Di seguito è riportato l’output di debug della console del codice di esempio precedente

Column1 = System.String
Column2 = System.String
Column3 = System.Double
Column4 = System.Double
Column5 = System.String