一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C#用Oledb查詢Excel某個sheet中的數(shù)據(jù)

 行走在理想邊緣 2019-06-16

最近在研究如何操作Excel文件,目前主要研究oledb方法和利用Office 的Excel組件來操作Excel文件

今天發(fā)表利用oledb的方式,根據(jù)多個條件進行數(shù)據(jù)的查詢。

明天爭取做個例子,利用Office 的Excel組件來操作Excel文件

1.Excel文件第一行設置為列名:

  1. /// <summary>
  2. /// 獲取OLEDB連接對象。
  3. /// </summary>
  4. /// <param name="excelPath">Excel文件的路徑</param>
  5. /// <returns>OLEDB連接對象</returns>
  6. public static OleDbConnection GetOledbConnection(string excelPath)
  7. {
  8. // 這里的HDR我設置為了Yes,也就是說我Excel中的第一行會當做列名,而不是數(shù)據(jù)
  9. string conString=string.Format("Provider=Microsoft.Ace.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'",excelPath);
  10. return new OleDbConnection( conString=string.Format );
  11. }

  12. /// <summary>
  13. /// 按條件查詢sheet中的信息
  14. /// </summary>
  15. /// <param name="excelPath">Excel文件的路徑</param>
  16. /// <param name="sheetName">sheet名稱</param>
  17. /// <returns>DataTable</returns>
  18. public DataTable GetSheetInfoByCondition(string excelPath,string sheetName)
  19. {
  20. OleDbConnection con=null;
  21. try
  22. {
  23. con = GetOledbConnection(excelPath);
  24. con.Open();
  25. OleDbCommand cmd = con.CreateCommand();
  26. // 這里查詢的條件我寫死了,當然你可以動態(tài)的傳值進來進行查詢
  27. cmd.CommandText = string.Format("select * from [{0}$] where 姓名='張三' and 年齡='25'",sheetName);
  28. OleDbDataAdapter adapter = new OleDbDataAdapter ( cmd );
  29. DataSet ds = new DataSet ();
  30. adapter.Fill(ds,sheetName);

  31. return ds.Tables[0];
  32. }
  33. catch(Exception ex)
  34. {
  35. throw ex;
  36. }
  37. finally
  38. {
  39. if(con!=null)
  40. {
  41. con.Close();
  42. }
  43. }

  44. return null;
  45. }

2.Excel文件第一列不是列名:
  1. /// <summary>
  2. /// 獲取OLEDB連接對象。
  3. /// </summary>
  4. /// <param name="excelPath">Excel文件的路徑</param>
  5. /// <returns>OLEDB連接對象</returns>
  6. public static OleDbConnection GetOledbConnection(string excelPath)
  7. {
  8. // 這里的HDR我設置為了No,也就是說我Excel中沒有列名,每一列的輸入的值都是數(shù)據(jù)
  9. string conString=string.Format("Provider=Microsoft.Ace.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=No;IMEX=1;'",excelPath);
  10. return new OleDbConnection( conString=string.Format );
  11. }

  12. /// <summary>
  13. /// 按條件查詢sheet中的信息
  14. /// </summary>
  15. /// <param name="excelPath">Excel文件的路徑</param>
  16. /// <param name="sheetName">sheet名稱</param>
  17. /// <returns>DataTable</returns>
  18. public DataTable GetSheetInfoByCondition(string excelPath,string sheetName)
  19. {
  20. OleDbConnection con=null;
  21. try
  22. {
  23. con = GetOledbConnection(excelPath);
  24. con.Open();
  25. OleDbCommand cmd = con.CreateCommand();
  26. // 這里查詢的條件我寫死了,當然你可以動態(tài)的傳值進來進行查詢
  27. // 如果你在連接字符串里沒有設置列名,oledb會自動生成列名,列名分別為F1,F(xiàn)2,F(xiàn)3,F(xiàn)4.........
  28. cmd.CommandText = string.Format("select * from [{0}$] where F1='張三' and F2='25'",sheetName);
  29. OleDbDataAdapter adapter = new OleDbDataAdapter ( cmd );
  30. DataSet ds = new DataSet ();
  31. adapter.Fill(ds,sheetName);

  32. return ds.Tables[0];
  33. }
  34. catch(Exception ex)
  35. {
  36. throw ex;
  37. }
  38. finally
  39. {
  40. if(con!=null)
  41. {
  42. con.Close();
  43. }
  44. }

  45. return null;
  46. }

以上兩種oledb連接字符串,我使用的都是Excel2007版本,對于不同版本的連接字符串,請參照下面連接里的詳細說明:

http://blog.csdn.net/sdd379733766/article/details/9838453

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    麻豆一区二区三区精品视频| 成人三级视频在线观看不卡| 偷自拍亚洲欧美一区二页| 国产精品丝袜美腿一区二区| 亚洲欧洲一区二区中文字幕| 亚洲一区二区三区中文久久| 美女黄色三级深夜福利| 国产精品一区二区日韩新区| 好吊日成人免费视频公开| 精品少妇人妻av一区二区蜜桃| 国产精品二区三区免费播放心| 樱井知香黑人一区二区| 国产肥妇一区二区熟女精品| 精品香蕉一区二区在线| 日韩在线欧美一区二区| 日本理论片午夜在线观看| 五月婷婷六月丁香狠狠| 欧美一区二区三区视频区 | 亚洲国产黄色精品在线观看| 亚洲一区二区三区在线中文字幕| 久久热麻豆国产精品视频| 婷婷基地五月激情五月| 亚洲av日韩一区二区三区四区| 中文字幕熟女人妻视频| 国产一级性生活录像片| 好吊色欧美一区二区三区顽频 | 欧美色欧美亚洲日在线| 亚洲少妇人妻一区二区| 好吊日在线观看免费视频| 日本东京热视频一区二区三区| 在线观看国产午夜福利| 国产熟女一区二区精品视频| 国产午夜精品美女露脸视频| 日本精品中文字幕在线视频| 麻豆视频传媒入口在线看| 日韩中文字幕人妻精品| 蜜臀人妻一区二区三区| 国产精品美女午夜福利| 欧美日韩黑人免费观看| 老司机激情五月天在线不卡| 国产成人精品在线播放|