簡體   English   中英

在C#中使用Excel電子表格中的數據

[英]Working with data from an Excel spreadsheet in C#

我在具有10,000行的Excel電子表格中具有以下結構的數據:

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嗎?

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

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

您可以按照此處所述將excel數據加載到數據集中,然后可以使用如下代碼

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數據集

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM