亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何讀取ADO.NET Excel數據文件

發布時間:2021-10-19 17:14:44 來源:億速云 閱讀:112 作者:小新 欄目:編程語言

這篇文章主要介紹如何讀取ADO.NET Excel數據文件,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

我們用ADO.NET操作數據庫,我們就會更Excel打交道,這是避免不了的。現在要介紹是如何動態的讀取ADO.NET Excel數據,這里的動態指的是事先不知道Excel文件的是什么樣的結構,或者無法預測,比如一張.xls文件有多少張sheet,而且每張sheet的結構可能都不一樣等等。其實我們可以通過獲取Excel的“架構信息”來動態的構造查詢語句。這里的“架構信息”與數據庫領域的“數據庫架構信息”意義相同(也稱“元數據”),對于整個數據庫,這些“元數據”通常包括數據庫或可通過數據庫中的數據源、表和視圖得到的目錄以及所存在的約束等;而對于數據庫中的表,架構信息包括主鍵、列和自動編號字段等。

在關系數據庫提供的各種對象中(表、視圖、存儲過程等),ADO.NET Excel數據源僅提供相當于表的對象,它由指定工作簿中的工作表和定義的命名區域組成。命名區域被視為“表”,而工作表被視為“系統表”)這里我們將Excel也當作一個“數據庫”來對待,然后利用OleDbConnection.GetOleDbSchemaTable 方法。注意:對于那些不熟悉 OLE DB 架構行集的人而言,它們基本上是由 ANSI SQL-92 定義的數據庫構造的標準化架構。每個架構行集具有為指定構造提供定義元數據的一組列(稱作 .NET 文檔中的“限制列”)。這樣,如果請求架構信息(例如,列的架構信息或排序規則的架構信息),則您會明確知道可以得到哪種類型的數據。

以下是讀取ADO.NET Excel數據文件內“表”定義元數據,并顯示出來的的程序片斷:

  1. // 讀取Excel數據,填充DataSet  

  2. // 連接字符串   

  3. string xlsPath = Server.MapPath("~/app_data/somefile.xls");  

  4. string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +  

  5. "Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\";" + 
    // 指定擴展屬性為 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),并且***行作為數據返回,且以文本方式讀取  

  6. "data source=" + xlsPath;  

  7. string sql_F = "SELECT * FROM [{0}]";  

  8.  

  9. OleDbConnection conn = null;  

  10. OleDbDataAdapter da = null;  

  11. DataTable tblSchema = null;  

  12. IList<string> tblNames = null;  

  13.  

  14. // 初始化連接,并打開  

  15. conn = new OleDbConnection(connStr);  

  16. conn.Open();  

  17.  

  18. // 獲取數據源的表定義元數據   

  19. //tblSchema = conn.GetSchema("Tables");  

  20. tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });  

  21.  

  22. GridView1.DataSource = tblSchema;  

  23. GridView1.DataBind();  

  24.  

  25. // 關閉連接  

  26. conn.Close();  

以上是“如何讀取ADO.NET Excel數據文件”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

井冈山市| 眉山市| 建瓯市| 额敏县| 屯留县| 阿克苏市| 南丹县| 镇雄县| 禹城市| 嘉定区| 桃江县| 宝应县| 武威市| 光泽县| 岐山县| 天镇县| 兴山县| 海盐县| 济源市| 喀什市| 神农架林区| 绥中县| 襄樊市| 宁明县| 宾川县| 九龙坡区| 无极县| 武邑县| 葵青区| 韩城市| 彭州市| 济源市| 浙江省| 敦煌市| 临桂县| 青州市| 中西区| 西林县| 孝义市| 灌阳县| 顺义区|