日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
ASP.NET數(shù)據(jù)導(dǎo)入之實(shí)現(xiàn)ExceltoMSSQL

ASP.NET數(shù)據(jù)導(dǎo)入之實(shí)現(xiàn)Excel to MSSQL的過(guò)程是什么呢?需要注意什么呢?

在呼瑪?shù)鹊貐^(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都營(yíng)銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,呼瑪網(wǎng)站建設(shè)費(fèi)用合理。

做網(wǎng)站項(xiàng)目時(shí),可能會(huì)遇到將Excel文件中的ASP.NET數(shù)據(jù)導(dǎo)入至SQL Server數(shù)據(jù)庫(kù)的需求,把Excel也看作數(shù)據(jù)庫(kù),使用OleDb連接后讀取數(shù)據(jù)然后寫(xiě)入用SqlClient連接的SQL Server數(shù)據(jù)庫(kù)即可,技術(shù)上沒(méi)有什么難度。

但是需要考慮的一個(gè)問(wèn)題是,系統(tǒng)安裝的環(huán)境一般是專用sql server服務(wù)器+web服務(wù)器+客戶端,而Excel文件往往在客戶端導(dǎo)入,如果直接使用SQL語(yǔ)句讀取的話,由于SQL在web服務(wù)器上運(yùn)行,不能讀取到客戶端的Excel地址,就會(huì)出錯(cuò)了。

既然知道了錯(cuò)誤的原因,解決方案也就有了:

1、把客戶端的Excel上傳至web服務(wù)器上某文件夾,注意要給該文件夾設(shè)置網(wǎng)絡(luò)用戶的“寫(xiě)入”權(quán)限;

2、使用OleDb+sql語(yǔ)句讀取web服務(wù)器上的Excel文件

3、將讀取的ASP.NET數(shù)據(jù)導(dǎo)入到SQL Server 數(shù)據(jù)庫(kù)

4、將web服務(wù)器上的臨時(shí)Excel刪除

部分代碼如下:

 
 
 
  1. string filename = FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf("\\"));  
  2. FileUpload1.PostedFile.SaveAs(Server.MapPath("fileupload\\")  + filename);//上傳文件  
  3.  
  4. string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 
  5. Server.MapPath("fileupload\\") +  filename + ";Extended Properties=Excel 8.0";  
  6. string sqlin = "SELECT * FROM [Sheet2$]";  
  7. OleDbCommand olecommand = new OleDbCommand(sqlin, new OleDbConnection(conn));  
  8. OleDbDataAdapter adapterin = new OleDbDataAdapter(olecommand);  
  9. DataSet dsin = new DataSet();  
  10. adapterin.Fill(dsin);  
  11. DataTable dtin = dsin.Tables[0];//連接并讀取Excel數(shù)據(jù)  
  12.  
  13. for (i = 3; i <= totalrow; i++)//將Excel文件中***個(gè)工作表的數(shù)據(jù)導(dǎo)入到sql數(shù)據(jù)庫(kù)scjd_youliaoxiaohaojihua表中  
  14. {  
  15.      string sql = "insert into scjd_youliaoxiaohaojihua(yuexuhao,danwei,youpin,
  16. cheliangmingchengxinghao,zichanxingzhi,chepaihao,qiyou,chaiyou,beizhu) values('";  
  17.      int j;  
  18.      sql += DropDownList1.SelectedValue.ToString() + DropDownList3.SelectedValue.ToString();  
  19.      if (DropDownList1.SelectedValue.ToString() != DateTime.Now.Year.ToString() || int.Parse
  20. (DateTime.Now.Month.ToString()) != int.Parse(DropDownList3.SelectedValue.ToString()))  
  21.      {  
  22.          sql += "20";  
  23.      }  
  24.      else 
  25.      {  
  26.         if (int.Parse(DateTime.Now.Day.ToString()) < 10)  
  27.             sql += "0";  
  28.         sql += DateTime.Now.Day.ToString();  
  29.      }  
  30.      if (i-3 + count < 9)  
  31.            sql += "00";  
  32.      else if (i-3 + count < 99)  
  33.           sql += "0";  
  34.      sql += (i -3 + 1 + count).ToString();  
  35.      sql += "','";  
  36.      for (j = 1; j < 8; j++)  
  37.      {//遍歷Excel表中一行的所有列,除***一列  
  38.          sql += dtin.Rows[i][j].ToString().Trim();  
  39.          sql += "','";  
  40.      }  
  41.      sql += dtin.Rows[i][8].ToString().Trim();  
  42.      sql += "')";  
  43.      try 
  44.      {  
  45.           DoSql(sql);  
  46.      }  
  47.      catch (Exception eeeeeee)  
  48.       {  
  49.          Response.Write("");  
  50.          return;  
  51.       }  
  52. }  
  53.  
  54. FileInfo file = new FileInfo(Server.MapPath("fileupload/") +  filename);  
  55. if (file.Exists)  
  56. {//刪除文件  
  57.         file.Delete();  
  58. }  
  59.  
  60. protected void DoSql(string sql)//執(zhí)行sql語(yǔ)句的函數(shù)  
  61.     {  
  62.         SqlConnection conn = new SqlConnection();//創(chuàng)建連接對(duì)象  
  63.         conn.ConnectionString = ConfigurationManager.AppSettings["conn"].ToString();//給連接字符串賦值  
  64.         conn.Open();//打開(kāi)數(shù)據(jù)庫(kù)  
  65.         SqlCommand cmd = new SqlCommand(sql, conn);  
  66.         cmd.ExecuteNonQuery();//  
  67.         conn.Close();//關(guān)閉數(shù)據(jù)庫(kù)  
  68.     } 

注:

1、本文代碼均取自我最近剛做的一個(gè)小項(xiàng)目,部分?jǐn)?shù)據(jù)有較強(qiáng)針對(duì)性,并不通用,只有思路通用

2、由于能力和水平問(wèn)題,部分代碼顯得有些笨拙,若能靈活運(yùn)用存儲(chǔ)過(guò)程,應(yīng)能大幅度簡(jiǎn)化代碼

ASP.NET數(shù)據(jù)導(dǎo)入之實(shí)現(xiàn)Excel to MSSQL的情況就向你介紹到這里,希望通過(guò)介紹使你對(duì)于ASP.NET數(shù)據(jù)導(dǎo)入之實(shí)現(xiàn)Excel to MSSQL有所了解。


文章題目:ASP.NET數(shù)據(jù)導(dǎo)入之實(shí)現(xiàn)ExceltoMSSQL
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/cdjdghe.html