public IEnumerable <string> GetSheetNames(Stream stream, bool disposeStream = true) { Inspector.NotNull(stream, "Excel文件流不能为空"); Func <SpreadsheetDocument, IEnumerable <string> > readSheetNames = (sheetDoc) => { WorkbookPart workbookPart = sheetDoc.WorkbookPart; return(workbookPart.GetSheetNames()); }; if (disposeStream) { using (var sheetDoc = SpreadsheetDocument.Open(stream, false)) { return(readSheetNames(sheetDoc)); } } else { return(readSheetNames(SpreadsheetDocument.Open(stream, false))); } }