Excel ходил - PullRequest
       23

Excel ходил

1 голос
/ 14 сентября 2011

Есть ли способ ходить по листу Excel, если у вас есть ссылка на ячейку? Как это

Microsoft.Office.Interop.Excel.Range cellWalker = mfe.GetMyCell(Mysheet);

cellWalker = cellWalker.GoUpOneRowButKeepColumn();
cellWalker = cellWalker.GoDownOneRowButKeepColumn();
cellWalker = cellWalker.GoLeftOneColumnButKeepRow();
cellWalker = cellWalker.GoRightOneColumnButKeepRow();

С уважением, Стефан

Ответы [ 2 ]

7 голосов
/ 14 сентября 2011

Свойство Range.Offset сделает это за вас.Например,

Microsoft.Office.Interop.Excel.Range cellWalker = mfe.GetMyCell(Mysheet);

cellWalker = cellWalker.Offset[-1, 0]; // GoUpOneRowButKeepColumn
cellWalker = cellWalker.Offset[1, 0];  // GoDownOneRowButKeepColumn
cellWalker = cellWalker.Offset[0, -1]; // GoLeftOneColumnButKeepRow
cellWalker = cellWalker.Offset[0, 1];  // GoRightOneColumnButKeepRow
0 голосов
/ 14 сентября 2011

В документации написано нет .Вы, вероятно, можете реализовать такую ​​функциональность самостоятельно, заключив Интерфейс в свой собственный объект.Вы можете записать эти методы в объект, а затем использовать свойства Range и Cell для навигации по листу.

Концептуальный (не проверенный, но пример "общего содержания")

public class ExcelWalker {
    Microsoft.Office.Interop.Excel.Range navigator
    Microsoft.Office.Interop.Excel.Range currentCells
    Integer currentRow,currentColumn

    public void GoUpOneRowButKeepColumn(){
       currentCells = navigator.Cells(currentRow++,currentColumn);
    }
}
...