Você pode usar o SpreadsheetGear para abrir um arquivo de uma matriz de bytes na memória ou de qualquer fluxo com SpreadsheetGear.Factory.GetWorkbookSet().Workbooks.OpenFromMemory(byte[]) / OpenFromStream(System.IO.Stream).
Isenção de responsabilidade:eu possuo SpreadsheetGear LLC