gpt4 book ai didi

c# - 使用 linq - Epplus 返回值不为空的单元格

转载 作者:行者123 更新时间:2023-11-30 21:42:10 25 4
gpt4 key购买 nike

我正在使用下面的 Linq 代码返回行中最后一个填充的单元格。但是,我不知道出于什么原因(可能是某种格式,或类似的原因)返回具有空值的单元格。示例

我的行从B16开始到AG16,论文中的代码应该返回AG16,但是这个返回的是AI16,这个单元格是空白的,没有值,没有公式,什么都没有。

我想忽略具有空白值的单元格,因此返回 AG16。

我正在按照下面的代码进行操作,即使它没有任何值,它也会返回 AI16

var lastRowCellValue = worksheet.Cells.Last(c => c.End.Row == 16)
  • 16 是他要检查的行 row

我已经尝试使用下面的代码,但它返回 NULL 而不是 AG16,这是我最后一个值单元格

 var lastRowCellValue = worksheet.Cells.Last(c => c.End.Row == 16).Where(c => c.Value != null);

我做错了什么?

最佳答案

假设问题类似于 this , 空单元格或格式导致问题,您可以使用派生自 this answer 的函数:

int LastColumnByRow(ExcelWorksheet sheet, int rownum) {
var col = sheet.Dimension.End.Column;

while (col >= 1) {
if (!string.IsNullOrEmpty(sheet.Cells[rownum, col].Text)) {
break;
}
col--;
}
return col;
}

这样调用:

var lastRowCellValue = worksheet.Cells[16, LastColumnByRow(ws, 16)];

关于c# - 使用 linq - Epplus 返回值不为空的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42766435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com