16        'Xlsx' => Reader\Xlsx::class,
 
   17        'Xls' => Reader\Xls::class,
 
   18        'Xml' => Reader\Xml::class,
 
   19        'Ods' => Reader\Ods::class,
 
   20        'Slk' => Reader\Slk::class,
 
   21        'Gnumeric' => Reader\Gnumeric::class,
 
   22        'Html' => Reader\Html::class,
 
   23        'Csv' => Reader\Csv::class,
 
   27        'Xls' => Writer\Xls::class,
 
   28        'Xlsx' => Writer\Xlsx::class,
 
   29        'Ods' => Writer\Ods::class,
 
   30        'Csv' => Writer\Csv::class,
 
   31        'Html' => Writer\Html::class,
 
   32        'Tcpdf' => Writer\Pdf\Tcpdf::class,
 
   33        'Dompdf' => Writer\Pdf\Dompdf::class,
 
   34        'Mpdf' => Writer\Pdf\Mpdf::class,
 
   46        if (!isset(self::$writers[$writerType])) {
 
   51        $className = self::$writers[$writerType];
 
   53        return new $className($spreadsheet);
 
   65        if (!isset(self::$readers[$readerType])) {
 
   70        $className = self::$readers[$readerType];
 
   72        return new $className();
 
   82    public static function load($pFilename)
 
   86        return $reader->load($pFilename);
 
   99        $className = get_class(
$reader);
 
  100        $classType = explode(
'\\', $className);
 
  103        return array_pop($classType);
 
  119        if ($guessedReader !== 
null) {
 
  130        foreach (self::$readers as 
$type => $class) {
 
  132            if (
$type !== $guessedReader) {
 
  153        if (!isset($pathinfo[
'extension'])) {
 
  157        switch (strtolower($pathinfo[
'extension'])) {
 
  196        if (!is_a($writerClass, Writer\IWriter::class, 
true)) {
 
  197            throw new Writer\Exception(
'Registered writers must implement ' . Writer\IWriter::class);
 
  200        self::$writers[$writerType] = $writerClass;
 
  211        if (!is_a($readerClass, Reader\IReader::class, 
true)) {
 
  212            throw new Reader\Exception(
'Registered readers must implement ' . Reader\IReader::class);
 
  215        self::$readers[$readerType] = $readerClass;
 
An exception for terminatinating execution or to throw for unit testing.
Factory to create readers and writers easily.
static createReaderForFile($filename)
Create Reader\IReader for file using automatic Reader\IReader resolution.
static identify($pFilename)
Identify file type using automatic Reader\IReader resolution.
static createReader($readerType)
Create Reader\IReader.
static load($pFilename)
Loads Spreadsheet from file using automatic Reader\IReader resolution.
static registerReader($readerType, $readerClass)
Register a reader with its type and class name.
static getReaderTypeFromExtension($filename)
Guess a reader type from the file extension, if any.
static createWriter(Spreadsheet $spreadsheet, $writerType)
Create Writer\IWriter.
static registerWriter($writerType, $writerClass)
Register a writer with its type and class name.
static assertFile($filename)
Assert that given path is an existing file and is readable, otherwise throw exception.