40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use PhpOffice\PhpSpreadsheet\IOFactory;
 | |
| 
 | |
| require __DIR__ . '/../Header.php';
 | |
| 
 | |
| // Read from Xlsx (.xlsx) template
 | |
| $helper->log('Load Xlsx template file');
 | |
| $reader = IOFactory::createReader('Xlsx');
 | |
| $spreadsheet = $reader->load(__DIR__ . '/../templates/26template.xlsx');
 | |
| 
 | |
| // at this point, we could do some manipulations with the template, but we skip this step
 | |
| $helper->write($spreadsheet, __FILE__, ['Xlsx', 'Xls', 'Html']);
 | |
| 
 | |
| // Export to PDF (.pdf)
 | |
| $helper->log('Write to PDF format');
 | |
| IOFactory::registerWriter('Pdf', \PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf::class);
 | |
| $helper->write($spreadsheet, __FILE__, ['Pdf']);
 | |
| 
 | |
| // Remove first two rows with field headers before exporting to CSV
 | |
| $helper->log('Removing first two heading rows for CSV export');
 | |
| $worksheet = $spreadsheet->getActiveSheet();
 | |
| $worksheet->removeRow(1, 2);
 | |
| 
 | |
| // Export to CSV (.csv)
 | |
| $helper->log('Write to CSV format');
 | |
| $writer = IOFactory::createWriter($spreadsheet, 'Csv');
 | |
| $filename = $helper->getFilename(__FILE__, 'csv');
 | |
| $callStartTime = microtime(true);
 | |
| $writer->save($filename);
 | |
| $helper->logWrite($writer, $filename, $callStartTime);
 | |
| 
 | |
| // Export to CSV with BOM (.csv)
 | |
| $filename = str_replace('.csv', '-bom.csv', $filename);
 | |
| $helper->log('Write to CSV format (with BOM)');
 | |
| $writer->setUseBOM(true);
 | |
| $callStartTime = microtime(true);
 | |
| $writer->save($filename);
 | |
| $helper->logWrite($writer, $filename, $callStartTime);
 | 
