您的位置:首页 > 编程语言 > Qt开发

使用LinqToExcel读取Excel

2014-06-21 23:45 218 查看
我们读取和写入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/

以程式方式讀取Excel的另一項選擇-Linq to Excel
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: