【发布时间】:2017-03-13 23:40:07
【问题描述】:
我正在使用下面的 Linq 代码返回行中最后一个填充的单元格。但是,我不知道出于什么原因(可能是某种格式或某种类型的东西)具有空值的单元格被返回。示例
我的行从B16开始到AG16,论文中的代码应该返回AG16,但是这个返回的是AI16,而且这个单元格是空白的,没有值,公式,什么都没有。
我想忽略具有空白值的单元格,因此返回 AG16。
我是按照下面的代码做的,即使没有值也返回AI16
var lastRowCellValue = worksheet.Cells.Last(c => c.End.Row == 16)
- 16 是他要检查的行
我已经尝试使用下面的代码,但它返回 NULL 而不是 AG16,这是我的最后一个值单元格
var lastRowCellValue = worksheet.Cells.Last(c => c.End.Row == 16).Where(c => c.Value != null);
我做错了什么?
【问题讨论】:
-
代替
.. c.Value != null)试试.. c.Value != DBNull.Value) -
@Pikoh 返回的是 AI16。老实说,我不知道会发生什么,因为这个单元格完全是空的,我不知道为什么,它被退回了。
-
那么也许你有两个空行..检查
c.Value != DBNull.Value || c.Value != String.Empty) -
@Pikoh 仍在返回 AI16。真的很奇怪,不知道为什么,他在骗这个牢房
-
价值是多少?字面上地?也许我们有类似 crlf 之类的东西?