我希望將Execl 表里面的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫
當(dāng)我代碼在本地的時(shí)候 導(dǎo)入到sql數(shù)據(jù)庫成功了? 可是 當(dāng)我發(fā)布到服務(wù)器上面以后 失敗了 求高手
我的代碼是下面的
??????? string fileName = FileUpload1.FileName;??????? string fPath = Server.MapPath("Upload//") + fileName;//文件保存的路徑,服務(wù)器上的絕對(duì)路徑??????? string fPaths = Server.MapPath("~/Upload/") + fileName;?????? ??????? ??????? string type = fileName.Substring(fileName.LastIndexOf(".") + 1);//獲取文件后綴名??????? //Label1.Text = type;??????? if (type != "xls")??????????? Response.Write("<script language=\"javascript\">alert('只接受上傳Excel文件!')</script>");??????? else??????? {??????????? string thro = "";??????????? int drcount = 0;??????????? int zcount = 0;??????????? try??????????? {??????????? //上傳文件??????????????? thro = "保存路徑出錯(cuò)";??????????? FileUpload1.SaveAs(fPath);??????????? ////////////////將文件內(nèi)容導(dǎo)入SQL///////////////////////////////////??????????? //將Excel內(nèi)容讀入數(shù)據(jù)集中??????????? string mystring = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '" + fPath + "';Extended Properties=Excel 8.0";??????????? OleDbConnection cnnxls = new OleDbConnection(mystring);??????????? OleDbDataAdapter myDa = new OleDbDataAdapter("select * from [Sheet1$]", cnnxls);??????????? DataSet myDs = new DataSet();??????????? myDa.Fill(myDs, "Test");??????????? GridView1.DataSource = myDs.Tables["Test"];??????????? GridView1.DataBind();??????????????? //從excel文件獲得數(shù)據(jù)后,插入記錄到SQL Server的數(shù)據(jù)表??????????????? thro = "數(shù)據(jù)庫鏈接有錯(cuò)";??????????????? SqlConnection sqlCon = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnString"].ToString());
??????????????? DataTable dataTable1 = new DataTable();
??????????????? SqlDataAdapter sqlDA1 = new SqlDataAdapter(@"SELECT * FROM Test", sqlCon);
??????????????? SqlCommandBuilder sqlCB1 = new SqlCommandBuilder(sqlDA1);??????????????? thro = "數(shù)據(jù)庫鏈接有錯(cuò)2";??????????????? sqlDA1.Fill(dataTable1);
??????????????? //字段名? 和Execl必須一樣????????????? ??????????????? foreach (DataRow dataRow in myDs.Tables["Test"].Rows)??????????????? {??????????????????? DataRow dataRow1 = dataTable1.NewRow();
??????????????????? CRM_CourseBLL coursebll = new CRM_CourseBLL();
??????????????????? dataRow1["Photo"] = dataRow[0];??????????????????? string a = dataRow[0].ToString();??????????????????? //判斷 如果該電話存在 匹配成功??????????????????? if (coursebll.retuntcount("CRM_Course", "ID", " where " + " C_Mobile = '" + a + "' and C_cost <> 1") > 0)??????????????????? {??????????????????????? dataRow1["state"] = 0;??????????????????????? dataRow1["drtime"] = DateTime.Now;
??????????????????????? dataTable1.Rows.Add(dataRow1);??????????????????????? drcount = drcount + 1;??????????????????? }??????????????????? zcount = zcount + 1;??????????????? }??????????????? thro = "數(shù)據(jù)填充報(bào)錯(cuò)";??????????????? sqlDA1.Update(dataTable1);
??????????????? cnnxls.Close();??????????? }??????????? catch??????????? {??????????????? ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('" + fPath + thro + "');", true);??????????????? daoruurl.InnerHtml = fPath + "---" + fPaths + thro;??????????????? return;??????????? }
?
最后給出來的失敗提示 是 保存路徑出錯(cuò)
可是 我在服務(wù)器上面查看了 那個(gè)路徑中 那個(gè)文件是存在的 求高手
Execl 導(dǎo)入sql數(shù)據(jù)庫的問題
墨色風(fēng)雨
2018-12-07 02:50:04