.net 错误:<;目标>;。列名称和<;来源>;。ColumnName具有冲突的属性:数据类型属性不匹配

.net 错误:<;目标>;。列名称和<;来源>;。ColumnName具有冲突的属性:数据类型属性不匹配,.net,vb.net,excel,datatable,.net,Vb.net,Excel,Datatable,我正在尝试使用DataTable.merge()选项合并多个excel文件 但合并时会出现以下错误 <target>.ColumnName and <source>.ColumnName have conflicting properties: DataType property mismatch. .ColumnName和.ColumnName具有冲突的属性:数据类型属性不匹配。 这是因为excel中的一列被读取为文本,另一列被读取为双精度,而两者都有数值 为了避免

我正在尝试使用DataTable.merge()选项合并多个excel文件

但合并时会出现以下错误

<target>.ColumnName and <source>.ColumnName have conflicting properties: DataType property mismatch.
.ColumnName和.ColumnName具有冲突的属性:数据类型属性不匹配。
这是因为excel中的一列被读取为文本,另一列被读取为双精度,而两者都有数值


为了避免这种情况,我还在连接字符串中提到了IMEX=1,但仍然会出现此错误。

如果列是数字的,请更正xls文件,将该列视为文本。

合并数据时,是否希望列的结构相同?

在合并中使用MissingSchemaAction.Ignore作为MissingSchemaAction参数

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

两者都是文本类型。但是,当使用ADO读取文件时,它会通过查看文件数据来确定列。我添加了IMEX=1,但它仍然不起作用注:问题和答案是VB.Net的,因此真正的用法是大写的
table1.Merge(TempTable, True, MissingSchemaAction.Ignore)