엑셀 읽어서 체크드 리스트에 바인딩하고 있었다.
테스트로 만든 엑셀에 데이터를 1열에 1, 2, 3, 4, AAA, 5, 6, 7 이렇게 넣었다.
그런데 AAA가 빈 문자열로 읽혀지는 것이었다.
그래서 구글링을 했더니 역시나 해답은 있었다.
OLEDB 연결자에 IMEX=1을 추가해 주면 된다.
엑셀을 읽을 때, 처음 몇 로우를 읽은 후 얘가 문자열 타입인지 숫자 타입인지 결정한다고 한다. 그럴 경우, 다른 타입의 데이터가 들어가 있으면 위와같은 문제가 발생하는 것이었다.
내 경우는 1, 2, 3, 4 읽었더니 "어!! 숫자네" 하다가 AAA가 나오니 무시한 거였드랬다.
즉, 어땠든 IMEX는 Default가 0이다. IMEX=1로 하면 되더라는 말씀
'프로그래밍 > C#' 카테고리의 다른 글
C# WebBrowser 키이벤트 엔터키 막기 (0) | 2017.09.26 |
---|---|
DataTable에서 Group By Sum 하기 (0) | 2015.01.19 |
C# DataTable에서 특정 컬럼만 Select해서 DataTable 만들기 (0) | 2015.01.18 |
C# 1년전 같은주차 같은요일 날짜 구하기 (0) | 2014.10.23 |
C# request 인코딩 처리하기 (0) | 2014.02.05 |
DataRow에서 rowID 구하기 (0) | 2014.02.03 |
C# 에서 웹브라우져 실행시키기 (0) | 2014.02.03 |
C# 초간단 파일 검색 (0) | 2014.01.15 |