2010-12-03 4 views
0

OleDB에 대한 오류가 발생했습니다. 난 그냥 내 Excel 파일을 Gridview로 가져 오기를 원한다.C# Excel to Gridview OleDB 오류

여기 내 코드입니다.

문자열 connstr = "제공자 = Microsoft.Jet.Oledb.4.0, 데이터 출처 = C :; 속성 = 엑셀 8.0 확장; \ a.xls HDR = YES; IMEX = 1";

 OleDbConnection conn = new OleDbConnection(connstr); 

     string strSQL = "Select * from [Sheet1$]"; 

     OleDbCommand cmd = new OleDbCommand(strSQL, conn); 

     DataSet ds = new DataSet(); 

     OleDbDataAdapter da = new OleDbDataAdapter(cmd); 

     da.Fill(ds); 

     GridView1.DataSource = ds; 
     GridView1.DataBind(); 

내가 프로젝트가 오류가없는 구축하지만 난이 프로젝트를 실행할 때이 같은 오류가 도착했을 때 :

System.ArgumentException 다음 초기화 문자열의 형식이 을 준수하지 않습니다 인덱스 47에서 시작하는 사양으로 변경하십시오.

줄 21 : 문자열 connstr = "공급자 = Microsoft.Jet.Oledb.4.0; 데이터 원본 = C : \ a.xls; Ex 경향이 있습니다 속성 = Excel 8.0; HDR = 예; IMEX = 1 "; 줄 22 : 줄 23 :
OleDbConnection conn = new OleDbConnection (connstr);

어떻게 해결할 수 있습니까?

답변

1

\는 c# string literals의 특수 문자입니다.

string path = "C:\\myFolder\\myfile.xls"; 

또는 그대로 문자열을 사용 : 는 탈출 C#을 중 하나를 사용하는 문자열에 경로를 지정하려면 확장 속성 값을 큰 따옴표가 필요 connstr

string path [email protected]"C:\myfolder\myfile.xls"; 
1

귀하의 문자열입니다. 예 :

OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PrmPathExcelFile + @";Extended Properties=""Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text""");