| 1 |
<?php |
| 2 |
|
| 3 |
use PhpOffice\PhpSpreadsheet\IOFactory; |
| 4 |
|
| 5 |
require __DIR__ . '/../Header.php'; |
| 6 |
|
| 7 |
// Read from Xlsx (.xlsx) template |
| 8 |
$helper->log('Load Xlsx template file'); |
| 9 |
$reader = IOFactory::createReader('Xlsx'); |
| 10 |
$spreadsheet = $reader->load(__DIR__ . '/../templates/26template.xlsx'); |
| 11 |
|
| 12 |
// at this point, we could do some manipulations with the template, but we skip this step |
| 13 |
$helper->write($spreadsheet, __FILE__, ['Xlsx', 'Xls', 'Html']); |
| 14 |
|
| 15 |
// Export to PDF (.pdf) |
| 16 |
$helper->log('Write to PDF format'); |
| 17 |
IOFactory::registerWriter('Pdf', \PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf::class); |
| 18 |
$helper->write($spreadsheet, __FILE__, ['Pdf']); |
| 19 |
|
| 20 |
// Remove first two rows with field headers before exporting to CSV |
| 21 |
$helper->log('Removing first two heading rows for CSV export'); |
| 22 |
$worksheet = $spreadsheet->getActiveSheet(); |
| 23 |
$worksheet->removeRow(1, 2); |
| 24 |
|
| 25 |
// Export to CSV (.csv) |
| 26 |
$helper->log('Write to CSV format'); |
| 27 |
/** @var \PhpOffice\PhpSpreadsheet\Writer\Csv $writer */ |
| 28 |
$writer = IOFactory::createWriter($spreadsheet, 'Csv'); |
| 29 |
$filename = $helper->getFilename(__FILE__, 'csv'); |
| 30 |
$callStartTime = microtime(true); |
| 31 |
$writer->save($filename); |
| 32 |
$helper->logWrite($writer, $filename, $callStartTime); |
| 33 |
|
| 34 |
// Export to CSV with BOM (.csv) |
| 35 |
$filename = str_replace('.csv', '-bom.csv', $filename); |
| 36 |
$helper->log('Write to CSV format (with BOM)'); |
| 37 |
$writer->setUseBOM(true); |
| 38 |
$callStartTime = microtime(true); |
| 39 |
$writer->save($filename); |
| 40 |
$helper->logWrite($writer, $filename, $callStartTime); |
| 41 |
|