$sheet n'est pas un objet PHPExcel, en fait pas un objet du tout même.
Regardes si tu as instancié l'objet en amont ou bien si tu l'as écrasé par inadvertance.
Déjà pourquoi faire deux fois la même chose ? Soit tu fais un new, soit tu utilises la factory.
Ensuite j'ai regardé la DOC mais tu sembles utiliser une vieille version car ces fonctions n'existent pas (de manière leur doc est nulle, on a pas le retour des fonctions...).
En gros getSheet() et getSheetByName() doivent retourner un booléen (du moins je suppose) lorsque la Sheet en question n'est pas trouvée.
Il faut donc tester le retour de la fonction.