搜索特定列中的最后一个值

时间:2017-03-08 10:29:36

标签: c# excel-interop

我在C#中使用Excel Interop从Excel工作表中读取。 我的Excel表格始终具有相同的结构:

   | A    | B    | C    | D    |
1  |      |      |      |      |
2  | Text | Text | Text | Text |
3  |      |      |      |      |
4  | Text | Text | Text | Text |
5  | Text | Text | Text | Text |
6  | Text | Text | Text | Text |
...| ...  | ...  | ...  | ...  |
75 | Text | Text | Text | Text |
76 |      |      |      |      |
77 | Text |      |      |      |    
78 | Text |      |      |      |    
79 | Text |      |      |      |    

我现在想要得到的是我所需数据的开始和结束行。在上面的例子中,它将是" 4"对于起始行和" 75"最后一行。

开始行没问题:我使用Range.Find("text").Row得到它,因为我知道数据的第一个条目。

问题是第75行,因为函数.End总是给我表单的最后一个单元格。在我的例子中,这将是79。

我可以将第4行循环到第76行并检查单元格是否为空,但这似乎并不是非常智能和高效。

是否可以询问D列中最后一个不为空的单元格?这可以解决我的问题。

希望这不是太混乱......

最好的问候和提前感谢,

儒略

1 个答案:

答案 0 :(得分:0)

"是否可以询问D列中最后一个非空单元格?这可以解决我的问题。"

也许这个解决方案对你有好处。它找到第一个空白元素,但我认为你可以编辑它: first blank row in excel