![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/maatwebsite/excel/src/Factories/ |
<?php namespace Maatwebsite\Excel\Factories; use Maatwebsite\Excel\Cache\CacheManager; use Maatwebsite\Excel\Concerns\MapsCsvSettings; use Maatwebsite\Excel\Concerns\WithCharts; use Maatwebsite\Excel\Concerns\WithCustomCsvSettings; use Maatwebsite\Excel\Concerns\WithMultipleSheets; use Maatwebsite\Excel\Concerns\WithPreCalculateFormulas; use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Csv; use PhpOffice\PhpSpreadsheet\Writer\Html; use PhpOffice\PhpSpreadsheet\Writer\IWriter; class WriterFactory { use MapsCsvSettings; /** * @param string $writerType * @param Spreadsheet $spreadsheet * @param object $export * @return IWriter * * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception */ public static function make(string $writerType, Spreadsheet $spreadsheet, $export): IWriter { $writer = IOFactory::createWriter($spreadsheet, $writerType); $writer->setUseDiskCaching( config('excel.cache.driver', CacheManager::DRIVER_MEMORY) !== CacheManager::DRIVER_MEMORY ); if (static::includesCharts($export)) { $writer->setIncludeCharts(true); } if ($writer instanceof Html && $export instanceof WithMultipleSheets) { $writer->writeAllSheets(); } if ($writer instanceof Csv) { static::applyCsvSettings(config('excel.exports.csv', [])); if ($export instanceof WithCustomCsvSettings) { static::applyCsvSettings($export->getCsvSettings()); } $writer->setDelimiter(static::$delimiter); $writer->setEnclosure(static::$enclosure); $writer->setEnclosureRequired((bool) static::$enclosure); $writer->setLineEnding(static::$lineEnding); $writer->setUseBOM(static::$useBom); $writer->setIncludeSeparatorLine(static::$includeSeparatorLine); $writer->setExcelCompatibility(static::$excelCompatibility); $writer->setOutputEncoding(static::$outputEncoding); } // Calculation settings $writer->setPreCalculateFormulas( $export instanceof WithPreCalculateFormulas ? true : config('excel.exports.pre_calculate_formulas', false) ); return $writer; } /** * @param $export * @return bool */ private static function includesCharts($export): bool { if ($export instanceof WithCharts) { return true; } if ($export instanceof WithMultipleSheets) { foreach ($export->sheets() as $sheet) { if ($sheet instanceof WithCharts) { return true; } } } return false; } }