[英]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.