转载 

使用LinqToExcel读取Excel

分类:    1422人阅读    IT小君  2015-02-10 14:10

转载连接:http://www.cnblogs.com/codefish/archive/2013/04/08/3009098.html

我们读取和写入Excel 经常使用NPOI工具,如果我们的需求只是需要读取Excel,可以考虑使用LinqToExcel这个组件。这个组件用起来简单,实用,操作方便,而且结合了Linq的查询特性,excel版本不仅支持2003,而且连wps表格都支持(后缀名为.et),csv文件更不在话下了。项目地址:https://code.google.com/p/linqtoexcel/

在使用之前:

1.添加引用,通过Nuget 来添加是最方便的了,这里要注意的32/64问题,具体参看文章 如何解決 LinqToExcel 發生「無法載入檔案或組件」問題

LinqToExcel.dll

Remotion.Data.Linq.dll

2.添加命名空间

using LinqToExcel;

//取得数据,只需要一行代码

var execelfile = new ExcelQueryFactory(sample.xls);

  如何取到相应的表呢?

//紧接楼上
var tsheet = excelfile.Worksheet(0);

  此时得到是没有进行相应映射的(row)行列集合.

一个简单的查询:

var excelfile = new ExcelQueryFactory("1.xls");

var tsheet = excelfile.Worksheet(0);<br> //查询30岁以上的人的名字

var query = from p in tsheet

where p["Age"].Cast<int>() > 30

select p;

foreach (var item in query)

{

Console.WriteLine("Name is {0}",item[0].Value.ToString());

}

Console.Read();

那如何转成相应的实体集合呢? LinqToExcel还具有Mapping 功能,如果类的属性名和Excel里的表头名字如果是英文,(区分大小写)必须与属性名保持一致,支持中文属性名和表头。接着就是一个常遇到的需求,虽然说 Excel 的字段定义是英文,但是读出来的时候必须要是更有意义的字词(本范例翻译成中文....),这时候就可以利用 LinqToExcel 的 AddMapping 功能来达到。

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

github:https://github.com/paulyoder/LinqToExcel

nuget: https://www.nuget.org/packages/LinqToExcel/ 和 https://www.nuget.org/packages/LinqToExcel_x64/

点击广告,支持我们为你提供更好的服务

HTML5数字产品服务公司网站模板

jQuery右端悬浮带返回顶部特效

现代时尚家具公司网站模板

响应式咖啡饮品宣传网站模板

响应式时尚单品在线商城网站模板

css鼠标跟随文字模糊特效

有机水果蔬菜HTML5网站模板

HTML5现代家居装潢公司网站模板

html5图标下拉搜索框自动匹配代码

js+css3抽奖转盘旋转点餐代码

canvas炫酷鼠标移动文字粒子特效

中小型创意设计服务公司网站模板

css+js实现的颜色渐变数字时钟动画特效

HTML5 Canvas竖直流动线条背景动画特效

html5 canvas彩色碎片组合球形旋转动画特效

html5 canvas进度条圆环图表统计动画特效

html5 svg夜空中星星流星动画场景特效

网页设计开发公司网站模板

小众时尚单品在线电子商务网站模板

响应式太阳能能源公司网站模板

点击广告,支持我们为你提供更好的服务
 工具推荐 更多»
点击广告,支持我们为你提供更好的服务