반응형
오류: [ 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
반응형
'programing' 카테고리의 다른 글
요소를 플렉스박스로 하부에 정렬 (0) | 2023.04.16 |
---|---|
NPOI를 사용하여 새 .xlsx 파일을 만들고 쓰는 중입니다. (0) | 2023.04.16 |
리모트 Git 브랜치를 체크하려면 어떻게 해야 하나요? (0) | 2023.04.16 |
배열을 인수로 Bash 함수에 전달하는 방법 (0) | 2023.04.16 |
줄 바꿈 없이 빠르게 인쇄하다 (0) | 2023.04.16 |