2

我正在使用 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,那么它可以工作。有什么办法可以逃脱“-”字符?或者我做错了什么。

4

2 回答 2

3

LinqToExcel 使用第二行来确定数据类型,89 被认为是一个数字,所有后续数据都被认为是一个数字。在数字前添加单引号 ('),例如 '89 以强制 excel 将内容设置为文本。

第一行用于将列名映射到类属性

于 2015-01-15T21:54:55.667 回答
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));
于 2016-03-11T14:20:29.580 回答