Linq To Excel使用简介二
2013-12-04 19:51
423 查看
目录:
1、常用方法介绍
2、查询符合条件的数据
3、手动添加映射
4、其他用法
1、常用方法介绍
里面有一些常见的方法,如下:
上次介绍的只是把表格里面的数据读取出来,但是列名没有读取出来,还有一种方法就是定义一个实体类,实体类属性名称跟Excel字段名称一样,那么它就自动进行映射。如下代码:
[/code]
输出结果如下:
2、查询符合条件的数据
还可以对输出的结果进行一些条件过滤,比如找出年龄大于12岁的,只需要加上条件即可,代码如下:
[/code]
Where里面传入的是一个Lamaba表达式,里面可以写任何条件;也可以不在这个后面用where,而是直接在结果集excel里面用linq语法去进行过滤;
3、手动添加映射
如果实体类里面的定义的字段跟Excel里面的列名如果不是一一对应的,也不要紧,可以手动的添加映射,如我把Student里面的字段名都加上一个str前缀,手动添加映射也可以正常读取出来,代码如下:
[/code]
运行结果如下:
4、其他一些用法
读取某个范围内单元格的数据:
[/code]
还可以读取CSV文件,写法跟Excel文件一样。
参考:
http://www.dotblogs.com.tw/larrynung/archive/2010/12/02/19868.aspx
https://github.com/paulyoder/LinqToExcel(官网示例)
http://demo.tc/Post/639
/article/5248557.html
1、常用方法介绍
2、查询符合条件的数据
3、手动添加映射
4、其他用法
1、常用方法介绍
里面有一些常见的方法,如下:
Worksheet | 获得工作表中的数据 |
WorksheetNoHeader | 同上,但不包含标题 |
WorksheetRange | 取得特定范围的数据 |
WorksheetRangeNoHeader | 同上,但不包含标题 |
AddMapping | 手动映射 |
AddTransformation | 设置转换动作 |
GetWorksheetNames | 取得所有工作表名称 |
GetColumnNames | 取得所有列名称 |
[code] void Main()
{
var fileName=System.IO.Path.Combine(@"D:\","学生基本信息.xlsx");
var excelFile=new ExcelQueryFactory(fileName);
//var excel=excelFile.Worksheet("sheet1");
var excel=excelFile.Worksheet<Student>();//不传参数,默认读取的就是sheet1里面的数据(括号中可以传入字符串,也可以是索引)
foreach (var element in excel)
{
element.Dump();
}
}
public class Student
{
public string Name{get;set;}
public string No{get;set;}
public int Age{get;set;}
}
[/code]
输出结果如下:
2、查询符合条件的数据
还可以对输出的结果进行一些条件过滤,比如找出年龄大于12岁的,只需要加上条件即可,代码如下:
[code]var excel=excelFile.Worksheet<Student>().Where(entity=>entity.Age>12);
[/code]
Where里面传入的是一个Lamaba表达式,里面可以写任何条件;也可以不在这个后面用where,而是直接在结果集excel里面用linq语法去进行过滤;
3、手动添加映射
如果实体类里面的定义的字段跟Excel里面的列名如果不是一一对应的,也不要紧,可以手动的添加映射,如我把Student里面的字段名都加上一个str前缀,手动添加映射也可以正常读取出来,代码如下:
[code]void Main()
{
var fileName=System.IO.Path.Combine(@"D:\","学生基本信息.xlsx");
var excelFile=new ExcelQueryFactory(fileName);
excelFile.AddMapping<Student>(d=>d.strName,"Name");
excelFile.AddMapping<Student>(d=>d.strNo,"No");
excelFile.AddMapping<Student>(d=>d.strAge,"Age");
var excel=excelFile.Worksheet<Student>().Where(entity=>entity.strAge>12);//不传参数,默认读取的就是sheet1里面的数据
foreach (var element in excel)
{
element.Dump();
}
}
public class Student
{
public string strName{get;set;}
public string strNo{get;set;}
public int strAge{get;set;}
}
[/code]
运行结果如下:
4、其他一些用法
读取某个范围内单元格的数据:
[code]var excel=excelFile.WorksheetRange<Student>("A1","C4").Where(entity=>entity.strAge>12);
[/code]
还可以读取CSV文件,写法跟Excel文件一样。
参考:
http://www.dotblogs.com.tw/larrynung/archive/2010/12/02/19868.aspx
https://github.com/paulyoder/LinqToExcel(官网示例)
http://demo.tc/Post/639
/article/5248557.html
相关文章推荐
- LinqToExcel使用简介一
- Asp.net MVC、Extjs(运用Linq to SQL和List泛型)批量更新、删除、打印(使用CKEditor)、导出Excel
- 使用LinqToExcel读取Excel
- ASP.NET 中 NPOI & LinqToSql 使用模板 导出 Excel
- 使用LinqToExcel和EPPlus操作excel
- Linq TO SQL中ADO.NET与Linq的整合使用
- 如何:使用 LINQ to SharePoint 进行查询
- 在Linq to Entity 中使用lambda表达式来实现Left Join和Join
- Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:排序和连接数据
- 使用Linq to xml 动态创建Xml文件(数据来自数据库)
- 扩展LINQ to Entity:使用Lambda Expression批量删除数据------让微软帮我们生成T-SQL语句
- 关于linq to entity中toString()的使用
- Linq To Sql常用方法使用总结
- LINQ使用细节之.AsEnumerable()和.ToList()的区别
- 使用LINQ ToSql(第十七课)
- Linq To Xml 备忘录1(XDocument, XElement的使用)
- SPList--使用Linq to Sharepoint间接查询External List(3.使用Linq to Sharepoint查询List内容)
- 使用LINQ to XML
- 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统 (Part 5)
- [VBA]Excel输出utf-8编码格式文件 使用WideCharToMultiByte