2009-08-20 41 views
0

我有在具有10,000行具有以下結構的Excel電子表格數據:與從Excel電子表格數據工作在C#

Country | Region | City  | Latitude | Longitude 
----------------------------------------------------- 
USA  | CA  | Los Angeles | 34°03′N | 118°15′W 
... 

前三列有效地構成了一個主鍵。我想這個數據加載到一個C#程序,這樣我可以有表達概念類似如下:

string lat = someDataStructure["USA"]["CA"]["Los Angeles"].latitude; 

我也想能夠做的事情一樣獲得加州城市的所有緯度的列表。

從Excel中加載此數據的最佳方式是什麼?我會使用Linq嗎?

(我不能使用第三方庫/模塊完成這個任務。)

回答

0

可以如所描述的here那麼你可以使用代碼等

string strExpr; 
string strSort; 
strExpr = "country = 'USA' AND Region = 'CA'"; 
strSort = "City DESC"; 
DataRow[] foundRows = ds.Table[0].Select(strExpr, strSort, DataViewRowState.Added); 

或使用LINQ 2數據集Excel數據加載到數據集

var query = from c in ds.Tables[0].AsEnumerable() 
      where c.Field<string>("Country") == "USA" && 
      where c.Field<string>("State") == "CA" 
      select c; 
0

我會建議使用ADO.net從Excel工作表中的數據讀取到數據集。
您可以在DataTable上進行過濾/排序,或者也可以使用LINQ。

相關問題