ACE.OLEDB를 사용하여 C# 응용 프로그램에서 Excel 파일을 읽고 있습니다. 오늘까지 열 이름 중 하나가 잘못 읽혀질 때까지 모든 것이 정상적으로 작동했습니다. 여기 ACE.OLEDB 공급자가 일부 열 이름을 잘못 읽음
내가 여기 내가 내 디버거 기본적으로점에있어 무슨 파일 내 엑셀에있어 무엇 (".")입니다 어떤 이유로 해시 ("#")로 바뀌 었습니다.
코드는 간단하고 대부분 문제없이 작동하지만 문제가 있다고 생각하지는 않지만 명확성을 위해 여기에 표시됩니다.
DataTable data = new DataTable();
string strAccessConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path.FullName + ";Extended Properties=\"Excel 12.0\";\"HDR=YES\";\"IMEX=1;\"";
OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
string strAccessSelect = "select * from [" + SheetName + "];";
OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect, myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myDataAdapter.Fill(0, maxRows, data);
내가 잘못하고있는 것이 있거나 OLEDB의 버그입니까?
이것은 버그가 아니며 기능입니다. String.Replace로 바꾸세요. – Taosique
심각하게? 당신은 정교 할 수 있습니까? 나는 거대한 파일을 Excel에서 읽으며, 나는 유효한 것을 많이 가질 수있다. ' 그곳에있는 상징들, 나는 그들 모두를 '#'으로 맹목적으로 대체 할 수는 없습니다. – taralex