Error: <target> .ColumnName y <source> .ColumnName tienen propiedades en conflicto: la propiedad DataType no coincide
Intento fusionar varios archivos de Excel con la opción DataTable.Merge ()
For Each fileName As String In Directory.GetFiles("C:\TEMP\.", "*.xls")
Dim connectionString As String = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;""", fileName)
Dim adapter As New OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString)
Dim ds As New DataSet
adapter.Fill(ds, "anyNameHere")
Dim TempTable As DataTable
TempTable = ds.Tables.Item("anyNameHere")
table1.Merge(TempTable)
MsgBox(fileName)
Next
DataGridView1.DataSource = table1
MsgBox(table1.Rows.Count)
But da el siguiente error al fusionar
<target>.ColumnName and <source>.ColumnName have conflicting properties: DataType property mismatch.
Esto se debe a que una columna en Excel se lee como texto y otra como doble, mientras que ambas tienen valores numéricos.
Para evitar esto, también mencioné IMEX = 1 en la cadena de conexión, aún obteniendo este error.