亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

將excel高效導入sqlserver的可行方法

2024-07-10 13:28:15
字體:
來源:轉載
供稿:網友

System.Data.SqlClient.SqlBulkCopy 對于新手來說還是比較陌生的,這個就是傳說中效率極高的bcp,6萬多數據從excel導入到sql只需要4.5秒

大部分人都知道用oledb來讀取數據到dataset,但是讀取之后怎么處理dataset就千奇百怪了。很多人通過循環來拼接sql,這樣做不但容易出錯而且效率低下,System.Data.SqlClient.SqlBulkCopy 對于新手來說還是比較陌生的,這個就是傳說中效率極高的bcp,6萬多數據從excel導入到sql只需要4.5秒。

 

 
  1. using System;  
  2. using System.Data;  
  3. using System.Windows.Forms;  
  4. using System.Data.OleDb;  
  5. namespace WindowsApplication2  
  6. {  
  7. public partial class Form1 : Form  
  8. {  
  9. public Form1()  
  10. {  
  11. InitializeComponent();  
  12. }  
  13.  
  14. private void button1_Click(object sender, EventArgs e)  
  15. {  
  16. //測試,將excel中的sheet1導入到sqlserver中  
  17. string connString = "server=localhost;uid=sa;pwd=sqlgis;database=master";  
  18. System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();  
  19. if (fd.ShowDialog() == DialogResult.OK)  
  20. {  
  21. TransferData(fd.FileName, "sheet1", connString);  
  22. }  
  23. }  
  24.  
  25. public void TransferData(string excelFile, string sheetName, string connectionString)  
  26. {  
  27. DataSet ds = new DataSet();  
  28. try 
  29. {  
  30. //獲取全部數據  
  31. string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;";  
  32. OleDbConnection conn = new OleDbConnection(strConn);  
  33. conn.Open();  
  34. string strExcel = "";  
  35. OleDbDataAdapter myCommand = null;  
  36. strExcel = string.Format("select * from [{0}$]", sheetName);  
  37. myCommand = new OleDbDataAdapter(strExcel, strConn);  
  38. myCommand.Fill(ds, sheetName);  
  39.  
  40. //如果目標表不存在則創建  
  41. string strSql = string.Format("if object_id('{0}') is null create table {0}(", sheetName);  
  42. foreach (System.Data.DataColumn c in ds.Tables[0].Columns)  
  43. {  
  44. strSql += string.Format("[{0}] varchar(255),", c.ColumnName);  
  45. }  
  46. strSql = strSql.Trim(',') + ")";  
  47.  
  48. using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection(connectionString))  
  49. {  
  50. sqlconn.Open();  
  51. System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand();  
  52. command.CommandText = strSql;  
  53. command.ExecuteNonQuery();  
  54. sqlconn.Close();  
  55. }  
  56. //用bcp導入數據  
  57. using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString))  
  58. {  
  59. bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);  
  60. bcp.BatchSize = 100;//每次傳輸的行數  
  61. bcp.NotifyAfter = 100;//進度提示的行數  
  62. bcp.DestinationTableName = sheetName;//目標表  
  63. bcp.WriteToServer(ds.Tables[0]);  
  64. }  
  65. }  
  66. catch (Exception ex)  
  67. {  
  68. System.Windows.Forms.MessageBox.Show(ex.Message);  
  69. }  
  70.  
  71. }  
  72.  
  73. //進度顯示  
  74. void bcp_SqlRowsCopied(object sender, System.Data.SqlClient.SqlRowsCopiedEventArgs e)  
  75. {  
  76. this.Text = e.RowsCopied.ToString();  
  77. this.Update();  
  78. }  
  79.  
  80.  
  81. }  

上面的TransferData基本可以直接使用,如果要考慮周全的話,可以用oledb來獲取excel的表結構,并且加入ColumnMappings來設置對照字段,這樣效果就完全可以做到和sqlserver的dts相同的效果了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久夜色精品亚洲噜噜国产mv| 7m精品福利视频导航| 欧美高清理论片| 欧美性色19p| 亚洲人成网在线播放| 国产精品成人免费视频| 国产精品一区二区在线| 91精品综合久久久久久五月天| 国产日韩在线精品av| 精品国产1区2区| 国产一区二区欧美日韩| 欧美性xxxx极品hd满灌| 上原亚衣av一区二区三区| 亚洲综合第一页| 国产精品一久久香蕉国产线看观看| 国产一区视频在线播放| 欧美片一区二区三区| 欧美亚洲国产日韩2020| 日韩专区在线播放| 91精品国产91久久久久久不卡| 国产精品视频免费在线| 国产精品96久久久久久又黄又硬| 中文字幕一区二区精品| 久久99国产综合精品女同| 亚洲淫片在线视频| 91欧美激情另类亚洲| 高清在线视频日韩欧美| 992tv成人免费影院| 欧美福利视频在线| 欧洲中文字幕国产精品| 久久夜色撩人精品| 欧美寡妇偷汉性猛交| 国产成人亚洲综合青青| 秋霞av国产精品一区| 激情久久av一区av二区av三区| 国产99久久精品一区二区| 中文字幕亚洲欧美日韩高清| 国产在线精品自拍| 91天堂在线视频| 一个色综合导航| 色婷婷亚洲mv天堂mv在影片| 一级做a爰片久久毛片美女图片| 91高清在线免费观看| 成人网在线免费观看| 国产精品自拍偷拍视频| 久久精品电影网| 日韩在线www| 成人黄色片在线| 亚洲国产精品久久久久| 日韩中文字幕久久| 亚洲欧美国产精品va在线观看| 77777亚洲午夜久久多人| 久久成人国产精品| 在线观看欧美www| 精品亚洲一区二区三区在线观看| 97国产真实伦对白精彩视频8| 一道本无吗dⅴd在线播放一区| 亚洲大胆人体av| 亚洲国产成人久久| 欧美黑人xxx| 亚洲精品在线观看www| 国产精品露脸自拍| 欧美老女人性视频| 亚洲精品99久久久久中文字幕| 久久久久亚洲精品成人网小说| 久久久中文字幕| 美女性感视频久久久| 亚洲精品综合精品自拍| 992tv成人免费视频| 国产精品女人网站| 亚洲黄在线观看| 日韩精品视频在线| 亚洲黄色av网站| 成人免费观看网址| 亚洲国产另类 国产精品国产免费| 中文字幕亚洲欧美一区二区三区| 国产精品揄拍500视频| 欧美一区二区视频97| 成人h片在线播放免费网站| 尤物yw午夜国产精品视频明星| 久久久久国色av免费观看性色| 欧美日韩激情小视频| 国产亚洲精品一区二区| 久久午夜a级毛片| 欧美激情小视频| 一本色道久久综合狠狠躁篇的优点| 91高潮精品免费porn| 亚洲爱爱爱爱爱| 日韩欧美高清在线视频| 久久久伊人日本| 国产精品黄色影片导航在线观看| 日韩中文字在线| 国产91精品久久久久| 国产精品日韩一区| 2024亚洲男人天堂| 欧美日韩亚洲天堂| 国产视频亚洲精品| 亚洲精品在线不卡| 国产精品一区二区三区免费视频| 成人写真视频福利网| 欧美高清电影在线看| 中文字幕欧美视频在线| 亚洲精品xxx| 麻豆乱码国产一区二区三区| 精品中文视频在线| 国外成人在线直播| 日韩精品欧美国产精品忘忧草| 日本不卡免费高清视频| 亚洲精品自拍第一页| 奇米四色中文综合久久| 久久97精品久久久久久久不卡| 日韩经典第一页| 亚洲精品国产美女| 国产精品白丝av嫩草影院| 国产日韩换脸av一区在线观看| 日韩电视剧在线观看免费网站| 亚洲风情亚aⅴ在线发布| 国产精品稀缺呦系列在线| 热re99久久精品国产66热| 午夜精品一区二区三区在线播放| 国模私拍视频一区| 久久999免费视频| 欧美性猛交xxxx免费看久久久| 亚洲视频精品在线| 91亚洲精品久久久久久久久久久久| 中文字幕在线日韩| 国产欧美日韩综合精品| 欧美日韩性视频| 亚洲第一网站男人都懂| 亚洲a中文字幕| 国产精品视频不卡| 亚洲第一网站男人都懂| 97在线免费观看视频| 亚洲欧美日韩爽爽影院| 欧美激情精品久久久久| 国产亚洲精品成人av久久ww| 国产精品1区2区在线观看| 精品国偷自产在线视频99| 一区二区欧美激情| 久久中文字幕在线视频| 欧美日韩中文字幕在线视频| 国产精品大片wwwwww| 国产精品一香蕉国产线看观看| 欧美一级视频一区二区| 91国产美女视频| 日本欧美精品在线| 欧美韩国理论所午夜片917电影| 国产精品草莓在线免费观看| 亚洲国产毛片完整版| 亚洲精品视频在线播放| 国产精品观看在线亚洲人成网| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲成人av资源网| 欧美劲爆第一页| 亚洲精品国产精品久久清纯直播| 高清视频欧美一级| 精品免费在线视频| 亚洲人免费视频| 欧美一级淫片丝袜脚交| 久久精品99久久久久久久久| 日韩美女福利视频| 伊人久久综合97精品| 狠狠色香婷婷久久亚洲精品| 欧美精品久久久久a|