login register Sysop! about ME  

2019년 07월 30일 16시 55분 00초,     조회수 : 192
  제목 : OleDbConnection을 이용한 Excel 읽기 중 Excel Sheet 이름 오류
SEQ : 34700 글쓴이 : dduddu28

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

제목과 같이 OleDbConnection을 이용해서 Excel에 접근해 DataTable 형식으로 정보를 가져오려고 합니다. 
코딩을 하고 테스트를 하던중 문제 하나가 발견됐는데요...
Sheet 이름에 "-" 이런 특수기호가 들어가면 DbDataAdapter에서 Fill을 하다가 에러가 발생합니다. 
에러 내용은 "설계도면-S'$'은(는) 유효한 이름이 아닙니다. 잘못된 문자나 문장 부호가 들어 있지 않은지~ " 이런 내용입니다. 
Sheet 이름에서 "-" 이 특수기호가 사용하면 안될 기호인거 같습니다... 테이블 명으로 Sheet 명을 사용하는데 문제가 ㅠㅠ 
그래서 궁금한게 Sheet에 "-" 이런 특수 문자가 들어가면 OleDb 연결해서 사용할때 원래 문제가 되는건가요..?
혹시나 이 특수기호를 그대로 쓰면서 에러없이 사용이 불가능한지 궁금합니다... 

  wind1379
  2019-08-01(16:48)
캐릭 이미지
소스가 없으니.. 답글 모호할것 같네요...[Mr.NET!]

"SELECT * FROM [" + sheetName + "]"; 처럼.. '[]' 로 감싸줘도 그런가요?

  dduddu28
  2019-08-08(17:31)
네.. 그렇게 했는데도 안되는 거에요~ 아마도 디비 규칙상 - 이 문자열이 안되는 것 아닌가 싶
어요 ..

  hskim618
  2019-08-11(19:27)
캐릭 이미지
https://social.msdn.microsoft.com/Forums/en-US/a387745a-f297-4810-8c5a-
9bcec73e9d63/oledb-with-special-characters?forum=adodotnetdataproviders
특수문자를 16진수 값으로 변경해서 처리하는 방법입니다.
위의 문서는 엑셀의 컬럼명에 특수문자가 들어갔을 경우이긴 한데요..
조금 수정하면 시트명에 특수문자가 들어간 경우도 쓸 수 있지 않을까 싶네요.



제목 작성자 날짜 조회
OleDbConnection을 이용한 Excel 읽기 중 Excel Sheet 이름 오류 (3) dduddu28 2019-07-30 192

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})