LINQ to Excel

LINQ to Excel |關聯式資料存取透過瀏覽器檢視會計損益表 

LINQ 當然可以用來讀取 Excel 的資料,如果你需要讀取 Excel 檔案的內容,但是不需要進行異動更新,使用 LINQ to Excel 這組元件是相當方便的選擇。

首先到以下的網址列進行所需的元件下載:


下載之後是一個 LinqToExcel_XXX.zip 檔案,其中的 XXX 是版本號碼,將其解開會看到以下的內容:


現在建立一個新的主控台應用程式,然後加入參考如下:


以上完成環境的建立,接下來就可以使用 LINQ to Excel 技術進行Excel文的內容存取工作。準備一個示範用的 Excel 檔案如下:


分別將其第一列命名為 id 與 name ,表示商品的編號與名稱欄位,並將工作表命名為 Products 。現在於主控台專案的主程式 Program.cs 當中中,輸入以下的程式碼:

static void Main(string[] args)
{
    var exFile = new LinqToExcel.ExcelQueryFactory("productsList.xlsx");
    var products = from p in exFile.Worksheet(0)
                       select p;
foreach (var row in products)
    {
        Console.WriteLine(row[0] + ":" + row[1]);
    }
    Console.ReadKey();
}

第一行建立 LINQ to Excel 元件所導入的 ExcelQueryFactory 物件,並以所要讀取的 Excel 檔案路徑名稱為參數傳入,取得 exFile 變數,就等於取得一個資料庫檔案。

Excel 檔案由工作表所組成,由於一個 Excel 檔案可能包含一個以上的工作表,就如同一個資料庫可能包含一個以上的資料表,因此透過 exFile 調用 Worksheet() 並且指定所要存取的工作表索引,由於這個示範用的檔案只有一個工作表,因此指定索引值為 0 即可取回其中的第一個工作表。

接下來就是我們熟悉的 LINQ 語法了,最後得到的 products 變數,封裝了整個工作表的內容資料,利用 foreach 即可將其中的資料取出,結果畫面如下:


好了,最簡單的 LINQ to Excel 完成了,下一篇我們來看看如何透過強型別存取 Excel 內容。

LINQ to Excel |關聯式資料存取透過瀏覽器檢視會計損益表 



沒有留言: