programing

오류:[ Column Name ]및 [Column Name]을 클릭합니다.ColumnName에 충돌하는 속성이 있습니다. DataType 속성 불일치

closeapi 2023. 4. 16. 15:09
반응형

오류:[ Column Name ]및 [Column Name]을 클릭합니다.ColumnName에 충돌하는 속성이 있습니다. DataType 속성 불일치

DataTable을 사용하여 여러 Excel 파일을 Marge하려고 합니다.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)

그러나 병합하는 동안 다음과 같은 오류가 발생합니다.

<target>.ColumnName and <source>.ColumnName have conflicting properties: DataType property mismatch.

이는 excel의 한 열은 텍스트로 읽히고 다른 열은 이중으로 읽히기 때문입니다.

이를 피하기 위해 연결 문자열에 IMEX=1도 언급했지만 여전히 이 오류가 발생합니다.

MissingSchemaAction을 사용합니다.병합에서 MissingSchemaAction 매개 변수로 무시

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

열이 숫자일 경우 해당 열을 텍스트로 처리하는 xls 파일을 수정합니다.
데이터를 병합할 때 열이 구조적으로 동일해야 하지 않을까요?

언급URL : https://stackoverflow.com/questions/535749/error-target-columnname-and-source-columnname-have-conflicting-properties

반응형