Exporter des données Excel vers un DataTable et vérifier le type de données mixte

Scénarios d’utilisation possibles

Si une colonne contient des données de différents types, le programme lancera une exception de type lors de l’exportation des données vers un DataTable. Pour l’exportation d’un tableau de données, par défaut, Aspose.Cells évalue le type de données des valeurs en se basant sur la toute première valeur (cellule) dans la colonne. Donc, si la valeur est un nombre, cela signifie que le type de données de la colonne serait numérique, ce qui est raisonnable. Si la toute première valeur est un nombre mais qu’il y a des données ou des valeurs alphanumériques dans la colonne, un type de données de chaîne devrait être attribué. Pour y faire face, veuillez utiliser la surcharge ExportDataTable qui implique ExportDataTableOptions et essayez de définir l’attribut booléen ExportTableOptions.CheckMixedValueType sur “true” si une colonne contient à la fois des valeurs numériques et de chaîne pour éviter les erreurs.

Exporter des données Excel vers un DataTable et vérifier le type de données mixte

L’exemple suivant explique l’utilisation de la propriété ExportTableOptions.CheckMixedValueType pour exporter des données Excel vers un DataTable. Veuillez consulter le fichier Excel d’exemple, sa capture d’écran et la sortie de la console pour référence.

Code d’exemple

// 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);
}

Capture d’écran




Sortie console

Ci-dessous se trouve la sortie de débogage de la console du code d’exemple ci-dessus

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