read net leer importar datos .net vb.net excel datatable

.net - net - Error:<target>.ColumnName y<source>.ColumnName tienen propiedades en conflicto: propiedad de DataType no coincide



vb net read excel file (2)

Si las columnas son numéricas, corrija el archivo xls tratando esa columna como texto.
¿No le gustaría que las columnas sean estructuralmente iguales cuando fusiona los datos?

Estoy intentando fusionar múltiples archivos de Excel usando 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)

Pero da el siguiente error al fusionarse

<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, obteniendo este error.


Use el parámetro MissingSchemaAction.Ignore como MissingSchemaAction en Merge

table1.Merge(TempTable, True, MissingSchemaAction.Ignore)