ExcelデータをDataTableにエクスポートして混合データ型を確認

可能な使用シナリオ

列にさまざまなタイプのデータが含まれている場合、データをDataTableにエクスポートする際にタイプエラーが発生します。データテーブルをエクスポートする場合、Aspose.Cellsはデフォルトで、列の最初の値に基づいて値のデータ型を評価します。そのため、値が数値であれば、その列のデータ型は数値になります。これは合理的なことです。最初の値が数値ではあるが列には数字と文字列のデータや値がある場合、文字列のデータ型が割り当てられるべきです。この問題に対処するには、ExportDataTableオーバーロードExportDataTableOptionsを使用し、ExportTableOptions.CheckMixedValueTypeブール属性を「true」に設定してください。

ExcelデータをDataTableにエクスポートして混合データ型をチェック

以下のサンプルは、ExportTableOptions.CheckMixedValueTypeプロパティを使用してExcelデータをデータテーブルにエクスポートする方法を説明しています。参考のために、サンプルExcelファイル、そのスクリーンショット、およびコンソールの出力をご覧ください。

サンプルコード

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

スクリーンショット




コンソール出力

上記サンプルコードのコンソールデバッグ出力は次のとおりです

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