code: private static function getReaderTypeFromExtension($filename)
      {
          $pathinfo = pathinfo($filename);
          if (!isset($pathinfo['extension'])) {
              return null;
          }
  
          switch (strtolower($pathinfo['extension'])) {
              case 'xlsx': // Excel (OfficeOpenXML) Spreadsheet
              case 'xlsm': // Excel (OfficeOpenXML) Macro Spreadsheet (macros will be discarded)
              case 'xltx': // Excel (OfficeOpenXML) Template
              case 'xltm': // Excel (OfficeOpenXML) Macro Template (macros will be discarded)
                  return 'Xlsx';
              case 'xls': // Excel (BIFF) Spreadsheet
              case 'xlt': // Excel (BIFF) Template
                  return 'Xls';
              case 'ods': // Open/Libre Offic Calc
              case 'ots': // Open/Libre Offic Calc Template
                  return 'Ods';
              case 'slk':
                  return 'Slk';
              case 'xml': // Excel 2003 SpreadSheetML
                  return 'Xml';
              case 'gnumeric':
                  return 'Gnumeric';
              case 'htm':
              case 'html':
                  return 'Html';
              case 'csv':
                  // Do nothing
                  // We must not try to use CSV reader since it loads
                  // all files including Excel files etc.
                  return null;
              default:
                  return null;
          }
      }
docs: Guess a reader type from the file extension, if any.
  
  @param string $filename
  
  @return null|string