我有总是如下所示的 excel 表
A | B | C
| |
| | something here maybe
1 | x | k
2 | y | l
3 | z | n
| j |
| j |
...
| |
我想获取 A 列中最后一个非空单元格的值。A 列总是从 A6 开始并持续一段时间,之后它是空的,但 B 列会持续一段时间。这具有如果我使用下面的代码的效果:
sh = app.Workbooks.get_Item("Workbook1.xlsx").Worksheets.get_Item("Sheet1");
fullRow = sh.Rows.Count;
lastRow = sh.Cells[fullRow, 1].End(Excel.XlDirection.xlUp).Row;
我得到最后一行 B 非空的最后一行。这可能比 A 开始为空的位置低 50 行。有没有办法在不迭代所有值的情况下使用 C# 来做到这一点?
编辑
事实证明,A 列是基于 C 列的,所以我应该检查 C。事实证明,C 与 A 产生相同的结果可能是因为该函数。幸运的是,有一个 D 列没有相同的问题,所以如果我使用上面的代码将 1 更改为 4,它就像一个魅力。