2013年10月4日 星期五

用 LinqToExcel 輕鬆讀取 Excel 內容

先前提到在匯入 Excel 時還要費點力氣去判斷 Sheet 的名稱,今天在網路上找資料時,發現另一個用來讀取 Excel 的不錯選擇-- LinqToExcel。但它只能用來讀 Excel ,不能寫入喔 (參考03)。

首先到下面網站去下載 LinqToExcel 壓縮檔。

https://code.google.com/p/linqtoexcel/

解開檔案後,把下面四個 dll 加入到專案的參考。

LinqToExcel.dll
Remotion.Data.Linq.dll
log4net.dll
Remotion.Data.Linq.dll



接著在 .cs 檔裡面加入 using LinqToExcel;
後面再三個步驟就可以完成了。

步驟一:指定 Excel 檔案路徑。
var excel = new LinqToExcel.ExcelQueryFactory(Server.MapPath("EX.xls"));

步驟二:使用 Linq 語法取得 Excel文件的第一個 Sheet 內容。
var Record= from x in excel.Worksheet(0) select x;


步驟三:把 Sheet 內容用 foreach 依序取出。
Response.Write("<table>");
foreach (LinqToExcel.Row row in Record)
{
    Response.Write(string.Format("<tr><td>車號:{0}</td><td>本月生產數:
{1}</td><td>下月計畫生產數:{2}</td></tr>", row[0].Value, row[1].Value,row[2].Value));
}
Response.Write("</table>");


執行後結果如下:


參考:
01:[.NET]Sheet1$不是有效的名稱
02:Linq To Excel
03:LinqtoExcel modify excel cell values
04:以程式方式讀取Excel的另一項選擇-Linq to Excel
05:讀取 Excel 你還在用 NPOI 嗎?快來試試 LinqToExcel

沒有留言:

張貼留言