2021-05-14 08:36:45 +08:00

32 lines
692 B
PHP

<?php
declare(strict_types=1);
namespace catcher\library\excel;
use catcher\exceptions\FailedException;
use PhpOffice\PhpSpreadsheet\Writer\Csv;
use PhpOffice\PhpSpreadsheet\Writer\Xls;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class Factory
{
public static function make($type, $spreadsheet)
{
if ($type === 'xlsx') {
return app(Xlsx::class)->setSpreadsheet($spreadsheet);
}
if ($type === 'xls') {
return new Xls($spreadsheet);
}
if ($type === 'csv') {
return (new Csv($spreadsheet))->setUseBOM('utf-8');
}
throw new FailedException(sprintf('Type [%s] not support', $type));
}
}