1
我知道這個問題重複出現,但問題在於我已經嘗試了幾乎所有解決方案的鏈接,但我沒有取得成功。所以這裏是場景: 我有一個輸入類型=文件&當我點擊提交按鈕時,它POST文件。在DataSet中填充數據時找不到可安裝的ISAM
這裏是代碼:
[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天,我無法找到解決方案。在web.config中
文件路徑:
<appSettings>
<add key="excel_file_storage_path" value="D:\webapps\uploads\UploadedExcelDocuments\" />
</appSettings>
我曾嘗試:
- 我安裝的2007 Office系統驅動器 - 數據連接組件來解決,如果有任何連接問題,但它不工作。
- 嘗試在數據源周圍放置單引號。
- 我把靜態路徑連接字符串,但也沒有工作。
- 也this,雖然它與我的問題沒有關係。
@pnuts okies,然後I M給ü實例還挺SOLN我試圖與沒有工作。 – Dhwani