C#Excel到GridView OleDB错误

我有一个关于OleDB的错误。 我只想把我的excel文件导入到Gridview中。

这是我的代码。

string connstr =“Provider = Microsoft.Jet.Oledb.4.0; Data Source = C:\ a.xls; Extended Properties = Excel 8.0; 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(); 

当我build立项目没有错误,但是当我运行这个项目我有这样的错误:

System.ArgumentException:初始化string的格式不符合从索引47开始的规范。

第21行:string connstr =“Provider = Microsoft.Jet.Oledb.4.0; Data Source = C:\ a.xls; Extended Properties = Excel 8.0; HDR = YES; IMEX = 1”; 22号线:23号线:
OleDbConnection conn = new OleDbConnection(connstr);

我怎样才能解决这个问题?

\是c#string文字中的一个特殊字符。 要在c#中的string中指定path,可以使用escaping:

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

或使用逐字string:

 string path =@"C:\myfolder\myfile.xls"; 

您的stringconnstr需要双引号的扩展属性值。 例如:

 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""");