在DataSet中填充数据时找不到可安装的ISAM

我知道这个问题是重复的,但问题是我已经尝试了几乎所有的解决scheme的链接,我没有得到成功。 所以这里的情况是:我有一个inputtypes=文件&当我点击提交button,它张贴的文件。

这里是代码:

[HttpPost] public ActionResult Index(HttpPostedFileBase excel_File) { if (excel_File != null) { //Save the uploaded file to the disc. string saved_FileName = Path.Combine(@ConfigurationManager.AppSettings["excel_file_storage_path"] + excel_File.FileName); // Taking file upload location from web.config excel_File.SaveAs(saved_FileName); var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0 Xml;HDR=YES", saved_FileName); //Fill the dataset with information from the Sheet1 worksheet. var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString); var ds = new DataSet(); adapter.Fill(ds); // I get error here. DataTable data = ds.Tables[0]; var obj_Table = new DataTable("Sample_Upload_Expense"); obj_Table.Columns.Add("Id", typeof(Int16)); obj_Table.Columns.Add("Name", typeof(string)); for (int i = 0; i < data.Rows.Count - 1; i++) { obj_Table.Rows.Add(data.Rows[i].Field<double>("Id"), data.Rows[i].Field<string>("Name")); } var arrParam = new List<SqlParameter>(); var para = new SqlParameter(); para.ParameterName = "@RowList"; para.SqlDbType = System.Data.SqlDbType.Structured; para.Value = obj_Table; var pNumRowsChanged = new SqlParameter("@NumRowsChanged", SqlDbType.Int); pNumRowsChanged.Value = 0; arrParam.Add(para); arrParam.Add(pNumRowsChanged); string proc = "SPInsertExpense"; int no = DataProvider.ProcRetunAffectedRows(proc, arrParam); return View(); } 

帮我。 我被困从2天,我无法find解决scheme。

web.config中的文件path:

 <appSettings> <add key="excel_file_storage_path" value="D:\webapps\uploads\UploadedExcelDocuments\" /> </appSettings> 

我努力了:

  1. 我安装了2007 Office System Driver – 数据连接组件来解决是否有任何连接问题,但它不起作用。
  2. 试图把单引号放在数据源的周围。
  3. 我把静态path连接string,但也没有工作。
  4. 另外这个 ,虽然和我的问题没有关系。

最后它的工作。 我试过了 ,它工作。 在连接string的实际情况,它需要两个; (分号)。 所以我的connectionString必须如下所示:

 var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=YES;';", saved_FileName);