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

全面概括ADO.NET Excel數(shù)據(jù)讀取文件

開發(fā) 后端
這里就如何動態(tài)讀取ADO.NET Excel數(shù)據(jù)和列出了讀取ADO.NET Excel數(shù)據(jù)文件內(nèi)“表”定義元數(shù)據(jù),并顯示出來的的程序片斷。

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

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

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

  1. // 讀取Excel數(shù)據(jù),填充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),并且***行作為數(shù)據(jù)返回,且以文本方式讀取  
  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. // 獲取數(shù)據(jù)源的表定義元數(shù)據(jù)   
  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. // 關(guān)閉連接  
  26. conn.Close();  
責(zé)任編輯:田樹 來源: 51CTO
相關(guān)推薦

2009-11-12 16:04:42

ADO.NET對象查詢

2009-11-03 14:22:10

ADO.NET Exc

2009-11-12 11:17:13

2009-11-12 10:06:01

ADO.NET讀取數(shù)據(jù)

2009-11-12 14:37:26

ADO.NET結(jié)構(gòu)

2009-11-12 14:26:34

ADO.NET執(zhí)行事務(wù)

2009-10-29 10:10:10

ADO.NET數(shù)據(jù)集類

2009-12-24 16:09:42

ADO.NET數(shù)據(jù)源

2009-11-11 09:48:08

ADO.NET Com

2009-10-29 11:08:20

ADO.NET Dat

2009-11-12 16:14:28

ADO.NET自定義對

2009-11-04 08:38:30

ADO.NET庫文件

2009-12-28 15:11:36

ADO.NET專家

2009-11-03 16:37:10

2009-12-22 10:58:50

ADO.NET類

2009-11-11 15:09:35

ADO.NET數(shù)據(jù)集

2009-11-13 09:30:28

2009-12-22 14:15:08

ADO.Net處理數(shù)據(jù)

2009-12-21 17:02:19

ADO.NET Sql

2009-09-14 13:37:25

LINQ ADO.NE
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产美女在线观看 | 国产精品久久久久久久久久免费看 | 91免费观看国产 | 日本小电影网站 | 日韩一区二区在线视频 | 蜜桃视频一区二区三区 | 中文字幕日韩三级 | 国产精品美女久久久久久免费 | 日韩av手机在线观看 | gav成人免费播放视频 | 色桃网 | 亚洲精品免费视频 | 日韩av高清| 天天干狠狠干 | 亚洲三区视频 | 91视频在线网站 | 青青草综合网 | 国产在线一区二 | 蜜臀av日日欢夜夜爽一区 | 超级乱淫av片免费播放 | 国产精品一区二区免费看 | 亚洲黄色成人网 | 国产成人免费视频网站高清观看视频 | 精品国产鲁一鲁一区二区张丽 | 四虎影院新网址 | 国产成人精品一区二区 | 午夜资源 | 免费观看成人鲁鲁鲁鲁鲁视频 | 精品亚洲一区二区三区四区五区 | 欧美一区二区三区日韩 | 日本黄色片免费在线观看 | 欧美日韩视频在线 | 91视频精选 | 国产精品久久精品 | 精品国产乱码久久久久久果冻传媒 | 欧美久久一区二区 | 欧美成ee人免费视频 | 女同久久另类99精品国产 | 国产精品免费一区二区三区四区 | 7777精品伊人久久精品影视 | 亚洲精品99久久久久久 |