Open sidebar
<?php use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf; class Excel { private $root; private $view; private $export; public function __construct() { $this->root = $_SERVER['DOCUMENT_ROOT']; $this->view = $this->root.DIRECTORY_SEPARATOR.'application'.DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'excel'.DIRECTORY_SEPARATOR; $this->export = $this->root.DIRECTORY_SEPARATOR.'assets'.DIRECTORY_SEPARATOR.'upload'.DIRECTORY_SEPARATOR.'excel'.DIRECTORY_SEPARATOR; } public function create() { $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', 'Hello World !'); $writer = new Xlsx($spreadsheet); $writer->save($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'hello world.xlsx'); } public function createFromTemplate($filename, $template, $data, $format = 'Xls', $output = 'save') { $spreadsheet = IOFactory::load($this->view.$template.'.xlsx'); $worksheet = $spreadsheet->getActiveSheet(); if(!empty($data)) { foreach ($data as $key => $value) { $worksheet->getCell($key)->setValue($value); } } $mime = $format == 'Xls' ? 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' : 'application/pdf'; $ext = $format == 'Xls' ? '.xlsx' : '.pdf'; $writer = $format == 'Xls' ? new Xlsx($spreadsheet) : new Mpdf($spreadsheet); if($output == 'save') $writer->save($this->export.$filename.$ext); else { header('Content-Type: '.$mime); header('Content-Disposition: attachment; filename="'.$filename.$ext.'"'); $writer->save("php://output"); } } }
Close sidebar
Back
Please note that all pasted data is publicly available.
X (fomerly Twitter)
GitHub
Use setting
Back
Please note that all pasted data is publicly available.
X (fomerly Twitter)
GitHub
Use setting