first commit
This commit is contained in:
48
modules/x13import/tools/Spout/Writer/WriterFactory.php
Normal file
48
modules/x13import/tools/Spout/Writer/WriterFactory.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace Box\Spout\Writer;
|
||||
|
||||
use Box\Spout\Common\Exception\UnsupportedTypeException;
|
||||
use Box\Spout\Common\Helper\GlobalFunctionsHelper;
|
||||
use Box\Spout\Common\Type;
|
||||
|
||||
/**
|
||||
* Class WriterFactory
|
||||
* This factory is used to create writers, based on the type of the file to be read.
|
||||
* It supports CSV, XLSX and ODS formats.
|
||||
*
|
||||
* @package Box\Spout\Writer
|
||||
*/
|
||||
class WriterFactory
|
||||
{
|
||||
/**
|
||||
* This creates an instance of the appropriate writer, given the type of the file to be read
|
||||
*
|
||||
* @api
|
||||
* @param string $writerType Type of the writer to instantiate
|
||||
* @return WriterInterface
|
||||
* @throws \Box\Spout\Common\Exception\UnsupportedTypeException
|
||||
*/
|
||||
public static function create($writerType)
|
||||
{
|
||||
$writer = null;
|
||||
|
||||
switch ($writerType) {
|
||||
case Type::CSV:
|
||||
$writer = new CSV\Writer();
|
||||
break;
|
||||
case Type::XLSX:
|
||||
$writer = new XLSX\Writer();
|
||||
break;
|
||||
case Type::ODS:
|
||||
$writer = new ODS\Writer();
|
||||
break;
|
||||
default:
|
||||
throw new UnsupportedTypeException('No writers supporting the given type: ' . $writerType);
|
||||
}
|
||||
|
||||
$writer->setGlobalFunctionsHelper(new GlobalFunctionsHelper());
|
||||
|
||||
return $writer;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user