C 讀取Excel中指定的Sheet名稱或索引

2021-05-02 01:26:15 字數 1100 閱讀 6987

public datatable exceltods(string path)

但是上面的**只是查詢sheet1$表,如果使用者把sheet表名改了就是報下面的錯:

'sheet1$' 不是乙個有效名稱。請確認它不包含無效的字元或標點,且名稱不太長。

那麼怎樣才能獲得excel中各個sheet的名稱呢?這樣就能動態的選中返回哪個sheet的資料,即使使用者更改了名稱也不怕,完全可以把所有sheet的名稱列出來供使用者選擇:

那麼下面就把解決問題的**列出來,主要用到了oledbconnection.getoledbschematable()方法

code

[copy to clipboard]

///

/// 根據excel的檔案的路徑提取其中表的資料

///

/// excel檔案的路徑

conn.open();

//返回excel的架構,包括各個sheet表的名稱,型別,建立時間和修改時間等 

datatable dtsheetname = conn.getoledbschematable (oledbschemaguid.tables, new object );

//包含excel中表名的字串陣列

string strtablenames = new string[dtsheetname.rows.count];

for (int k = 0; k < dtsheetname.rows.count; k++)

oledbdataadapter mycommand = null;

datatable dt = new datatable();

//從指定的表明查詢資料,可先把所有表明列出來供使用者選擇

string strexcel = "select * from [" + strtablenames[0] + "]";

mycommand = new oledbdataadapter(strexcel, strconn);

dt = new datatable();

mycommand.fill(dt);

datagridview1.datasource = dt; //繫結到介面

}

C 讀取Excel中指定的Sheet名稱或索引

public datatable exceltods string path 但是上面的 只是查詢sheet1 表,如果使用者把sheet表名改了就是報下面的錯 sheet1 不是乙個有效名稱。請確認它不包含無效的字元或標點,且名稱不太長。那麼怎樣才能獲得excel中各個sheet的名稱呢?這樣就能...

C 讀取Excel中指定的Sheet名稱或索引

public datatable exceltods string path 但是上面的 只是查詢sheet1 表,如果使用者把sheet表名改了就是報下面的錯 sheet1 不是乙個有效名稱。請確認它不包含無效的字元或標點,且名稱不太長。那麼怎樣才能獲得excel中各個sheet的名稱呢?這樣就能...

Python 讀取excel指定的列

介紹了使用 xlrd 模組,讀取指定座標的單元格,以及迴圈整個 還沒有介紹如何讀取指定的列。目前有一張水果 表,內容如下 需要提取品名和成本價,完整 如下 usr bin env python3 coding utf 8 import xlrd 開啟excel檔案,建立乙個workbook物件,bo...