我使用LinqToExcel检索一些信息,我可以从我的所有列中获取数据,除了一个。这是场景:
我有3列:
Code Name LastName
89 test1 test2
89-2 test3 test4
90 test5 test6
并获取我使用的值列表:
var excel = new LinqToExcel.ExcelQueryFactory(path)
var excelValues = excel.Worksheet<Sheet>("Sheet1").AsEnumerable().Where(p => !String.IsNullOrWhiteSpace(p.Code));
返回以下信息:
89 |test1|test2
null|test3|test4 //here is my problem
90 |test5|test6
如果我将89-2改为89.2则可行。有什么方法可以逃脱&#34; - &#34;字符?或者我做错了什么。
答案 0 :(得分:3)
LinqToExcel使用第二行确定数据类型,89被视为数字,所有后续数据都被视为数字。在数字之前添加单引号(&#39;),例如&#39; 89强制excel将内容设置为文本。
第一行用于将列名映射到类属性
答案 1 :(得分:0)
在对象excel“excel.DatabaseEngine = DatabaseEngine.Ace;”之后包含此行。
var excel = new LinqToExcel.ExcelQueryFactory(path);
excel.DatabaseEngine = DatabaseEngine.Ace;
var excelValues = excel.Worksheet<Sheet>("Sheet1").AsEnumerable().Where(p =>
!String.IsNullOrWhiteSpace(p.Code));