Если вы в своей доработке используете старый добрый COM Excel.Application, или какую-либо его обертку, то у объекта Range есть старый добрый метод Group(), который делает вроде как раз то, что вы описали. Еще у него же есть свойство OutlineLevel, которое позволит сделать многоуровневую группировку.
А про удочку - AXForum, MSDN, Google и т.д. А еще есть книги по разработке. А еще голова.