【公告】網站目前停止所有的課程訂閱服務,原有學員權益不受影響,造成不便還請見諒,我們正在打造更多課程以及圖書,包含 Python 為主的課程主題,未來將會合併且擴充目前的課程內容,提供全新課程訂閱服務,感謝學員的支持。
【公告】《Entity Framework 實務精要》 絕版優惠學習活動,是針對最後一批少量書籍絕版的短期特別活動,只提供 20 個名額(剩 7 名),教學影片要在今年暑假過後才會重新開放訂閱,並沒有提供之前單獨購書的讀者,還請見諒, 如果您需要教學影片,屆時再請參與,也感謝讀者學員的支持,我們正在開發更多的教學內容,歡迎與我們一起努力。
《Entity Framework 實務精要》 絕版優惠學習活動》

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 |關聯式資料存取透過瀏覽器檢視會計損益表 



沒有留言: