2013-03-21 81 views
1

在我的MVC3 Razor项目中,我已经上传了一个Excel工作表并将其保存在我的项目文件夹中。我需要读取excel中的值。要做到这一点,我只是创建OLedbConnection.i得到了错误“无法更新。数据库或对象是只读的。”同时执行dbConnection.Open()行;无法更新。数据库或对象是只读的

控制器:

 string fp="@"+Session["FilePathFinal"].ToString(); 
     DataTable fooData = new DataTable(); 
     OleDbConnection dbConnection = 
      new OleDbConnection 
      (@"Provider=Microsoft.Jet.OLEDB.4.0;" 
      + @"Data Source='"+fp+"';" 
      + @"Extended Properties=""Excel 8.0;"""); 
     dbConnection.Open(); 

在FP是文件路径。文件路径包含值@D:\MVC\Admin\Import.Admin\App_Data\ImportFileHome\Baby needs.csv

如何摆脱此问题。任何帮助?

注:我的Excel文件的Excel 2013

+0

不知道为什么你有你的文件名开头的'@'符号。尝试不用,即'string fp = Session [“FilePathFinal”]。ToString();' – 2013-03-23 00:13:42

回答

-1

对于CSV试试这个:

OleDbConnection conn = new OleDbConnection 
       ("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + 
       Path.GetDirectoryName(FileName) + 
       "; Extended Properties = \"Text;HDR=YES;FMT=Delimited\""); 
+0

虽然问题中的文件名以'.csv'结尾,但它不清楚,这个答案应该如何帮助解决问题。 – CaringDev 2015-08-03 23:35:05