這期內容當中小編將會給大家?guī)碛嘘PASP.NET數據導入中如何實現Excel to MSSQL,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
潮安ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
實現Excel to MSSQL的過程是什么呢?需要注意什么呢?
做網站項目時,可能會遇到將Excel文件中的ASP.NET數據導入至SQL Server數據庫的需求,把Excel也看作數據庫,使用OleDb連接后讀取數據然后寫入用SqlClient連接的SQL Server數據庫即可,技術上沒有什么難度。
但是需要考慮的一個問題是,系統(tǒng)安裝的環(huán)境一般是專用sql server服務器+web服務器+客戶端,而Excel文件往往在客戶端導入,如果直接使用SQL語句讀取的話,由于SQL在web服務器上運行,不能讀取到客戶端的Excel地址,就會出錯了。
既然知道了錯誤的原因,解決方案也就有了:
1、把客戶端的Excel上傳至web服務器上某文件夾,注意要給該文件夾設置網絡用戶的“寫入”權限;
2、使用OleDb+sql語句讀取web服務器上的Excel文件
3、將讀取的ASP.NET數據導入到SQL Server 數據庫
4、將web服務器上的臨時Excel刪除
部分代碼如下:
string filename = FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf("\\")); FileUpload1.PostedFile.SaveAs(Server.MapPath("fileupload\\") + filename);//上傳文件 string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("fileupload\\") + filename + ";Extended Properties=Excel 8.0"; string sqlin = "SELECT * FROM [Sheet2$]"; OleDbCommand olecommand = new OleDbCommand(sqlin, new OleDbConnection(conn)); OleDbDataAdapter adapterin = new OleDbDataAdapter(olecommand); DataSet dsin = new DataSet(); adapterin.Fill(dsin); DataTable dtin = dsin.Tables[0];//連接并讀取Excel數據 for (i = 3; i <= totalrow; i++)//將Excel文件中***個工作表的數據導入到sql數據庫scjd_youliaoxiaohaojihua表中 { string sql = "insert into scjd_youliaoxiaohaojihua(yuexuhao,danwei,youpin,cheliangmingchengxinghao,zichanxingzhi,chepaihao,qiyou,chaiyou,beizhu) values('"; int j; sql += DropDownList1.SelectedValue.ToString() + DropDownList3.SelectedValue.ToString(); if (DropDownList1.SelectedValue.ToString() != DateTime.Now.Year.ToString() || int.Parse(DateTime.Now.Month.ToString()) != int.Parse(DropDownList3.SelectedValue.ToString())) { sql += "20"; } else { if (int.Parse(DateTime.Now.Day.ToString()) < 10) sql += "0"; sql += DateTime.Now.Day.ToString(); } if (i-3 + count < 9) sql += "00"; else if (i-3 + count < 99) sql += "0"; sql += (i -3 + 1 + count).ToString(); sql += "','"; for (j = 1; j < 8; j++) {//遍歷Excel表中一行的所有列,除***一列 sql += dtin.Rows[i][j].ToString().Trim(); sql += "','"; } sql += dtin.Rows[i][8].ToString().Trim(); sql += "')"; try { DoSql(sql); } catch (Exception eeeeeee) { Response.Write("<script>alert('數據導入錯誤,請檢查Excel文件')</script>"); return; } } FileInfo file = new FileInfo(Server.MapPath("fileupload/") + filename); if (file.Exists) {//刪除文件 file.Delete(); } protected void DoSql(string sql)//執(zhí)行sql語句的函數 { SqlConnection conn = new SqlConnection();//創(chuàng)建連接對象 conn.ConnectionString = ConfigurationManager.AppSettings["conn"].ToString();//給連接字符串賦值 conn.Open();//打開數據庫 SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery();// conn.Close();//關閉數據庫 }
注:
1、代碼均取自我最近剛做的一個小項目,部分數據有較強針對性,并不通用,只有思路通用
2、由于能力和水平問題,部分代碼顯得有些笨拙,若能靈活運用存儲過程,應能大幅度簡化代碼
ASP.NET數據導入之實現Excel to MSSQL的情況就向你介紹到這里,希望通過介紹使你對于ASP.NET數據導入之實現Excel to MSSQL有所了解。
上述就是小編為大家分享的ASP.NET數據導入中如何實現Excel to MSSQL了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:ASP.NET數據導入中如何實現ExceltoMSSQL
網站地址:http://chinadenli.net/article44/gjdjee.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站營銷、小程序開發(fā)、網站設計公司、手機網站建設、品牌網站制作、App設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)