dubito fortemente che sia un file in formato XLS quello che stai leggendo

fgets legge una riga per volta, e un file XLS è un file strutturato in un formato chiamato Structured Storage Model che al suo interno supporta dati strutturati in proprietà e flussi dati (in generale)

avevo, tempo addietro, iniziato a scrivere una libreria per leggere questa struttura dati, condivisa da excel, word e powerpoint (poi ognuno di questi software inserisce le proprie informazioni) ma mi sono fermato per mancanza di tempo

se non vado errato esiste una libreria che fa uso di pear per leggere questi documenti, ma il mio consiglio è di salvare il file XLS in XML (fai salva con nome e lo selezioni dall'elenco ... excel xml o qualcosa del genere)