簡體   English   中英

C#Interop Excel范圍查找第一個和最后一個填充值

[英]c# interop excel range find first and last populated value

我有一個范圍(一行),我想知道該范圍內第一個和最后一個填充值的列位置。 這就是我試圖計算位置的方法。

var xlRange = (Excel.Range)currentSheet.Cells[10, 1].EntireRow; // 10th row.
long firstColumn= (long)xlRange.get_End(Excel.XlDirection.xlToRight).Column;

工作表如下所示:

在此處輸入圖片說明

firstColumn返回8。這是正確的。 但是我不知道如何獲取最后填充的單元格的列位置。

long firstColumn= (long)xlRange.get_End(Excel.XlDirection.xlToRight).Column;

當excel設置如下時,為firstColumn返回12:

在此處輸入圖片說明

我期待得到1。

有指針嗎?

您可以使用Excel提供的SpecialCells方法。 https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-specialcells-method-excel

在您的情況下,您要這樣查找最后一個單元格: xlCellTypeLastCell,不帶值,即Type.Missing

Excel.Range lastCell = workSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing); 
Excel.Range myRange = workSheet.get_Range("B1", lastCell);

lastCell應該給出其行和列值。
希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM