使用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;
如何取到相应的表呢?
此时得到是没有进行相应映射的(row)行列集合.
一个简单的查询:
那如何转成相应的实体集合呢? 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
在使用之前:
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
相关文章推荐
- LINQ学习笔记(11) LINQ to XML---不必使用.NET专门的XML类就可读取XML文件
- LinqToExcel使用简介一
- 使用Python读取TestTrack记录- Part3 动态生成Linq to xml查询语句筛选条件
- Asp.net MVC、Extjs(运用Linq to SQL和List泛型)批量更新、删除、打印(使用CKEditor)、导出Excel
- 使用LinqToExcel和EPPlus操作excel
- 使用Linq to Xml 读取配置文件
- 使用jxl读取excel报错记录:jxl.read.biff.BiffException: Unable to recognize OLE stream
- 使用linq to xml修改app.config示例(linq读取xml)
- Linq To Excel使用简介二
- ASP.NET 中 NPOI & LinqToSql 使用模板 导出 Excel
- C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML
- 使用Linq to Xml 读取配置文件
- DataTable to Excel(使用NPOI、EPPlus将数据表中的数据读取到excel格式内存中)
- Linq to SQL之使用存储过程 (1)
- Linq TO SQL中ADO.NET与Linq的整合使用
- 在Linq to Sql中管理并发更新时的冲突(3):使用记录的时间戳进行检测
- 使用LINQ to XML
- Linq TO SQL中ADO.NET与Linq的整合使用
- LINQ to SQL 第九节 在控件中使用自定义的LINQ表达式(翻译自scott的博客)
- [转自JeffreyZhao]在LINQ to SQL中使用Translate方法以及修改查询用SQL