成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET數據導入之實現Excel to MSSQL

開發 后端
ASP.NET數據導入之實現Excel to MSSQL是怎么實現的呢?那么本文就向你介紹具體的實現過程。

ASP.NET數據導入之實現Excel to MSSQL的過程是什么呢?需要注意什么呢?

做網站項目時,可能會遇到將Excel文件中的ASP.NET數據導入至SQL Server數據庫的需求,把Excel也看作數據庫,使用OleDb連接后讀取數據然后寫入用SqlClient連接的SQL Server數據庫即可,技術上沒有什么難度。

但是需要考慮的一個問題是,系統安裝的環境一般是專用sql server服務器+web服務器+客戶端,而Excel文件往往在客戶端導入,如果直接使用SQL語句讀取的話,由于SQL在web服務器上運行,不能讀取到客戶端的Excel地址,就會出錯了。

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

1、把客戶端的Excel上傳至web服務器上某文件夾,注意要給該文件夾設置網絡用戶的“寫入”權限;

2、使用OleDb+sql語句讀取web服務器上的Excel文件

3、將讀取的ASP.NET數據導入到SQL Server 數據庫

4、將web服務器上的臨時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數據  
  12.  
  13. for (i = 3; i <= totalrow; i++)//將Excel文件中***個工作表的數據導入到sql數據庫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("<script>alert('數據導入錯誤,請檢查Excel文件')</script>");  
  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)//執行sql語句的函數  
  61.     {  
  62.         SqlConnection conn = new SqlConnection();//創建連接對象  
  63.         conn.ConnectionString = ConfigurationManager.AppSettings["conn"].ToString();//給連接字符串賦值  
  64.         conn.Open();//打開數據庫  
  65.         SqlCommand cmd = new SqlCommand(sql, conn);  
  66.         cmd.ExecuteNonQuery();//  
  67.         conn.Close();//關閉數據庫  
  68.     } 

注:

1、本文代碼均取自我最近剛做的一個小項目,部分數據有較強針對性,并不通用,只有思路通用

2、由于能力和水平問題,部分代碼顯得有些笨拙,若能靈活運用存儲過程,應能大幅度簡化代碼

ASP.NET數據導入之實現Excel to MSSQL的情況就向你介紹到這里,希望通過介紹使你對于ASP.NET數據導入之實現Excel to MSSQL有所了解。

【編輯推薦】

  1. ASP.NET數據緩存之數據緩存淺談
  2. ASP.NET數據采集的實現淺析
  3. ASP.NET數據訪問層SqlHelperSqlHelper的使用
  4. 哈希算法實現ASP.NET數據加密
  5. 對稱加密算法實現ASP.NET數據加密
責任編輯:仲衡 來源: 學前班
相關推薦

2009-07-28 10:01:16

ASP.NET Exc

2009-07-27 14:29:31

ASP.NET編程彈窗報警提示

2009-07-28 11:00:24

Excel導入SQL

2009-07-28 11:23:04

Excel導入SQL

2009-08-07 10:34:56

ASP.NET控件開發

2009-08-05 17:15:21

ASP.NET結束Ex

2009-08-06 10:49:45

ASP.NET服務器控

2009-08-05 14:19:12

ASP.NET輸出EX

2009-08-05 16:59:38

ASP.NET調用Ex

2009-08-04 10:02:36

中國站長站

2009-08-04 10:57:44

ASP.NET數據加密哈希算法

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-22 17:45:35

ASP.NET教程

2012-08-03 10:20:06

ASP.NET

2009-07-20 17:12:17

ASP.NET訪問數據

2009-07-28 10:26:30

ASP.NET操作Ex

2009-07-28 14:40:15

XML數據ASP.NET

2009-07-20 15:44:32

ASP.NET MVC

2009-08-10 17:17:10

ASP.NET安裝部署
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人短视频在线观看 | 亚洲国产精品久久 | 九九久久这里只有精品 | 国产成人精品综合 | 亚洲高清视频在线 | 中文字幕av中文字幕 | 亚洲免费在线 | 亚洲天堂精品一区 | 成人深夜小视频 | 国产欧美精品 | 一级毛片视频在线 | 欧美久久久久久 | 国产精品久久久久久久久久久久久 | 国内精品久久久久久影视8 最新黄色在线观看 | 精品久久久久久亚洲综合网站 | 亚洲精品乱码久久久久久久久久 | 性欧美xxxx | 中文字字幕在线中文乱码范文 | 欧美日韩福利视频 | 亚洲欧美日韩激情 | 国产视频二区 | 久久久日韩精品一区二区三区 | 日本电影韩国电影免费观看 | 丝袜天堂 | www.一区二区| 黄色毛片一级 | 亚洲精品一区av在线播放 | 国产精品乱码一区二三区小蝌蚪 | 福利片在线观看 | 一级高清免费毛片 | 欧美亚洲综合久久 | 国产高清一二三区 | 亚洲国产成人精品女人久久久 | 午夜三级网站 | 亚洲视频免费 | 国产高清一区二区三区 | 亚洲精品成人av久久 | av在线免费网 | 国产精品视频一区二区三区不卡 | 免费在线一区二区 | 99国产精品久久久久老师 |