我們讀取和寫入Excel 經(jīng)常使用NPOI工具,,如果我們的需求只是需要讀取Excel,,可以考慮使用LinqToExcel這個(gè)組件,。這個(gè)組件用起來簡單,實(shí)用,,操作方便,,而且結(jié)合了Linq的查詢特性,excel版本不僅支持2003,而且連wps表格都支持(后綴名為.et),,csv文件更不在話下了,。項(xiàng)目地址:https://code.google.com/p/linqtoexcel/ 在使用之前: 1.添加引用,通過Nuget 來添加是最方便的了,,這里要注意的32/64問題,,具體參看文章 如何解決 LinqToExcel 發(fā)生「無法載入檔案或組件」問題 LinqToExcel.dll Remotion.Data.Linq.dll 2.添加命名空間 using LinqToExcel;
如何取到相應(yīng)的表呢? //緊接樓上 var tsheet = excelfile.Worksheet(0); 此時(shí)得到是沒有進(jìn)行相應(yīng)映射的(row)行列集合. 一個(gè)簡單的查詢:
那如何轉(zhuǎn)成相應(yīng)的實(shí)體集合呢? LinqToExcel還具有Mapping 功能,,如果類的屬性名和Excel里的表頭名字如果是英文,(區(qū)分大小寫)必須與屬性名保持一致,,支持中文屬性名和表頭。接著就是一個(gè)常遇到的需求,,雖然說 Excel 的字段定義是英文,,但是讀出來的時(shí)候必須要是更有意義的字詞(本范例翻譯成中文....),這時(shí)候就可以利用 LinqToExcel 的 AddMapping 功能來達(dá)到,。 google code:https://code.google.com/p/linqtoexcel/ github:https://github.com/paulyoder/LinqToExcel nuget: https://www./packages/LinqToExcel/ 和 https://www./packages/LinqToExcel_x64/ |
|