最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#自動(dòng)判斷Excel版本使用不同的連接字符串

 更新時(shí)間:2015年06月16日 11:49:18   投稿:junjie  
這篇文章主要介紹了C#自動(dòng)判斷Excel版本使用不同的連接字符串,本文重點(diǎn)在不同版本的連接字符串介紹,需要的朋友可以參考下

用OLEDB通過(guò)設(shè)置連接字符串可以像讀取sqlserver一樣將excel中的數(shù)據(jù)讀取出來(lái),但是excel2003和excel2007/2010的連接字符串是不同的。

  /// <summary>
  /// 把數(shù)據(jù)從Excel裝載到DataTable
  /// </summary>
  /// <param name="pathName">帶路徑的Excel文件名</param>
  /// <param name="sheetName">工作表名</param>
  /// <param name="tbContainer">將數(shù)據(jù)存入的DataTable</param>
  /// <returns></returns>
  public DataTable ExcelToDataTable(string pathName, string sheetName)
  {
    DataTable tbContainer = new DataTable();
    string strConn = string.Empty;
    if (string.IsNullOrEmpty(sheetName)) { sheetName = "Sheet1"; }
    FileInfo file = new FileInfo(pathName);
    if (!file.Exists) { throw new Exception("文件不存在"); }
    string extension = file.Extension;
    switch (extension)
    {
      case ".xls":
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
        break;
      case ".xlsx":
        strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pathName + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'";
        break;
      default:
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
        break;
    }
    //鏈接Excel
    OleDbConnection cnnxls = new OleDbConnection(strConn);
    //讀取Excel里面有 表Sheet1
    OleDbDataAdapter oda = new OleDbDataAdapter(string.Format("select * from [{0}$]", sheetName), cnnxls);
    DataSet ds = new DataSet();
    //將Excel里面有表內(nèi)容裝載到內(nèi)存表中!
    oda.Fill(tbContainer);
    return tbContainer;
  }

這里需要注意的地方是,當(dāng)文件的后綴名為.xlsx(excel2007/2010)時(shí)的連接字符串是"Provider=Microsoft.ACE.OLEDB.12.0;....",注意中間紅色部分不是"Jet"。

相關(guān)文章

  • Unity?UGUI?按鈕綁定事件的?4?種方式匯總

    Unity?UGUI?按鈕綁定事件的?4?種方式匯總

    UGUI?可視化創(chuàng)建以及關(guān)聯(lián)事件很方便,?動(dòng)態(tài)創(chuàng)建可以利用創(chuàng)建好的?Prefab?進(jìn)行實(shí)例化,?只是在關(guān)聯(lián)事件上有些復(fù)雜,這篇文章主要介紹了Unity?UGUI?按鈕綁定事件的?4?種方式,需要的朋友可以參考下
    2022-01-01
  • UGUI實(shí)現(xiàn)圖片拖拽功能

    UGUI實(shí)現(xiàn)圖片拖拽功能

    這篇文章主要為大家詳細(xì)介紹了UGUI實(shí)現(xiàn)圖片拖拽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#通過(guò)windows注冊(cè)表獲取軟件清單的方法

    C#通過(guò)windows注冊(cè)表獲取軟件清單的方法

    這篇文章主要介紹了C#通過(guò)windows注冊(cè)表獲取軟件清單的方法,涉及C#針對(duì)注冊(cè)表的訪問(wèn)讀取與遍歷操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C#圖片壓縮的實(shí)現(xiàn)方法

    C#圖片壓縮的實(shí)現(xiàn)方法

    一般在web應(yīng)用中,對(duì)客戶端提交上來(lái)的圖片肯定需要進(jìn)行壓縮的。尤其是比較大的圖片,如果不經(jīng)過(guò)壓縮會(huì)導(dǎo)致頁(yè)面變的很大,打開(kāi)速度比較慢,當(dāng)然了如果是需要高質(zhì)量的圖片也得需要生產(chǎn)縮略圖。
    2013-02-02
  • C#打開(kāi)php鏈接傳參然后接收返回值的關(guān)鍵代碼

    C#打開(kāi)php鏈接傳參然后接收返回值的關(guān)鍵代碼

    這篇文章主要介紹了C#打開(kāi)php鏈接傳參然后接收返回值的關(guān)鍵代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • C#中winform窗體實(shí)現(xiàn)注冊(cè)/登錄功能實(shí)例(DBHelper類(lèi))

    C#中winform窗體實(shí)現(xiàn)注冊(cè)/登錄功能實(shí)例(DBHelper類(lèi))

    在編寫(xiě)項(xiàng)目時(shí),編寫(xiě)了一部分關(guān)于登錄頁(yè)面的一些代碼,下面這篇文章主要給大家介紹了關(guān)于C#中winform窗體實(shí)現(xiàn)注冊(cè)/登錄功能(DBHelper類(lèi))的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • C# 中使用正則表達(dá)式匹配字符的含義

    C# 中使用正則表達(dá)式匹配字符的含義

    正則表達(dá)式的作用用來(lái)描述字符串的特征。本文重點(diǎn)給大家介紹C# 中使用正則表達(dá)式匹配字符的含義,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-10-10
  • c#讀取圖像保存到數(shù)據(jù)庫(kù)中(數(shù)據(jù)庫(kù)保存圖片)

    c#讀取圖像保存到數(shù)據(jù)庫(kù)中(數(shù)據(jù)庫(kù)保存圖片)

    這篇文章主要介紹了使用c#讀取圖像保存到數(shù)據(jù)庫(kù)中的方法,大家參考使用吧
    2014-01-01
  • C#基礎(chǔ)學(xué)習(xí)系列之Attribute和反射詳解

    C#基礎(chǔ)學(xué)習(xí)系列之Attribute和反射詳解

    大家在使用Attribute的時(shí)候大多需要用到反射,所以放在一起。下面這篇文章主要給大家介紹了關(guān)于C#基礎(chǔ)學(xué)習(xí)系列之Attribute和反射的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • C#?Math中常用數(shù)學(xué)運(yùn)算的示例詳解

    C#?Math中常用數(shù)學(xué)運(yùn)算的示例詳解

    Math?為通用數(shù)學(xué)函數(shù)、對(duì)數(shù)函數(shù)、三角函數(shù)等提供常數(shù)和靜態(tài)方法,使用起來(lái)非常方便。這篇文章主要為大家介紹幾個(gè)常用的數(shù)學(xué)運(yùn)算的使用,需要的可以參考一下
    2022-11-11

最新評(píng)論

德惠市| 茶陵县| 鄂温| 张掖市| 金乡县| 松溪县| 南澳县| 新巴尔虎右旗| 雷波县| 谢通门县| 海门市| 长子县| 柏乡县| 勐海县| 河间市| 磴口县| 永昌县| 格尔木市| 阿拉善盟| 博湖县| 台中县| 麟游县| 偏关县| 昌乐县| 灵璧县| 永川市| 大新县| 广南县| 本溪市| 阳曲县| 闵行区| 宿松县| 竹北市| 云安县| 理塘县| 类乌齐县| 信阳市| 昔阳县| 开阳县| 抚顺县| 胶州市|