为什么 LinqToExcel 在遇到“-”字符时返回 null?

Why LinqToExcel is returning null when encounters "-" character?

我正在使用 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));

此returns以下信息:

89  |test1|test2
null|test3|test4 //here is my problem
90  |test5|test6

如果我将 89-2 更改为 89.2,它就可以工作了。有什么办法可以逃脱“-”字符吗?或者我做错了什么。

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

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

在对象 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));