mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-08-30 20:18:00 +00:00
Merge branch 'master' into arraysexplicit
This commit is contained in:
@@ -37,6 +37,9 @@ foreach ($inputFileNames as $inputFileName) {
|
||||
$reader->setIncludeCharts(true);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$helper->log('Merge chart cells (needed only for Pdf)');
|
||||
$spreadsheet->mergeChartCellsForPdf();
|
||||
|
||||
$helper->log('Iterate worksheets looking at the charts');
|
||||
foreach ($spreadsheet->getWorksheetIterator() as $worksheet) {
|
||||
$sheetName = $worksheet->getTitle();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Exception as SpreadsheetException;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf;
|
||||
@@ -21,7 +22,7 @@ function replaceBody(string $html): string
|
||||
</body>
|
||||
EOF;
|
||||
|
||||
return preg_replace($bodystring, $bodyrepl, $html) ?? '';
|
||||
return preg_replace($bodystring, $bodyrepl, $html) ?? throw new SpreadsheetException('preg failed');
|
||||
}
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Exception as SpreadsheetException;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf;
|
||||
@@ -16,7 +17,7 @@ function addHeadersFootersMpdf2000(string $html): string
|
||||
odd-footer-name: html_myFooter2;
|
||||
|
||||
EOF;
|
||||
$html = preg_replace('/@page page0 {/', $pagerepl, $html) ?? '';
|
||||
$html = preg_replace('/@page page0 {/', $pagerepl, $html) ?? throw new SpreadsheetException('preg 1 failed');
|
||||
$bodystring = '/<body>/';
|
||||
$simulatedBodyStart = Mpdf::SIMULATED_BODY_START;
|
||||
$bodyrepl = <<<EOF
|
||||
@@ -40,7 +41,7 @@ function addHeadersFootersMpdf2000(string $html): string
|
||||
|
||||
EOF;
|
||||
|
||||
return preg_replace($bodystring, $bodyrepl, $html) ?? '';
|
||||
return preg_replace($bodystring, $bodyrepl, $html) ?? throw new SpreadsheetException('preg 2 failed');
|
||||
}
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
require_once __DIR__ . '/Mpdf2.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$sheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
$sheet->getCell('A1')->setValue('A1');
|
||||
$sheet->getCell('B1')->setValue('B');
|
||||
$sheet->getCell('C1')->setValue('C');
|
||||
$sheet->getCell('D1')->setValue('D');
|
||||
$sheet->getCell('E1')->setValue('E');
|
||||
$sheet->getCell('F1')->setValue('F');
|
||||
$sheet->getCell('G1')->setValue('G');
|
||||
$sheet->getCell('A2')->setValue('A2');
|
||||
$sheet->getCell('A3')->setValue('A3');
|
||||
$sheet->getCell('A4')->setValue('A4');
|
||||
$sheet->getCell('A5')->setValue('A5');
|
||||
$sheet->getCell('A6')->setValue('A6');
|
||||
$sheet->getCell('A7')->setValue('A7');
|
||||
$sheet->getCell('A8')->setValue('A8');
|
||||
|
||||
$helper->log('Add drawing to worksheet');
|
||||
$drawing = new Drawing();
|
||||
$drawing->setName('Blue Square');
|
||||
$path = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'images/blue_square.png';
|
||||
$drawing->setPath($path);
|
||||
$drawing->setResizeProportional(false);
|
||||
$drawing->setWidth(320);
|
||||
$drawing->setCoordinates('B2');
|
||||
$drawing->setCoordinates2('G6');
|
||||
$drawing->setWorksheet($sheet, true);
|
||||
|
||||
$helper->log('Merge drawing cells for Pdf');
|
||||
$spreadsheet->mergeDrawingCellsForPdf();
|
||||
|
||||
$helper->log('Write to Mpdf');
|
||||
$writer = new Mpdf($spreadsheet);
|
||||
$filename = $helper->getFileName(__FILE__, 'pdf');
|
||||
$writer->save($filename);
|
||||
$helper->log("Saved $filename");
|
||||
if (PHP_SAPI !== 'cli') {
|
||||
echo '<a href="/download.php?type=pdf&name=' . basename($filename) . '">Download ' . basename($filename) . '</a><br />';
|
||||
}
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
@@ -38,7 +38,7 @@ foreach ($customPropertyList as $customPropertyName) {
|
||||
|
||||
break;
|
||||
case 'd': // date
|
||||
$propertyValue = is_numeric($propertyValue) ? date('l, d<\s\u\p>S</\s\u\p> F Y g:i A', (int) $propertyValue) : '*****INVALID*****';
|
||||
$propertyValue = is_numeric($propertyValue) ? date('l, j<\s\u\p>S</\s\u\p> F Y g:i A', (int) $propertyValue) : '*****INVALID*****';
|
||||
$propertyType = 'date';
|
||||
|
||||
break;
|
||||
|
||||
@@ -19,7 +19,7 @@ $helper->log('<b>Document Creator: </b>' . $creator);
|
||||
|
||||
// Read the Date when the workbook was created (as a PHP timestamp value)
|
||||
$creationDatestamp = $spreadsheet->getProperties()->getCreated();
|
||||
$creationDate = Date::formattedDateTimeFromTimestamp("$creationDatestamp", 'l, d<\s\up>S</\s\up> F Y');
|
||||
$creationDate = Date::formattedDateTimeFromTimestamp("$creationDatestamp", 'l, j<\s\u\p>S</\s\u\p> F Y');
|
||||
$creationTime = Date::formattedDateTimeFromTimestamp("$creationDatestamp", 'g:i A');
|
||||
$helper->log('<b>Created On: </b>' . $creationDate . ' at ' . $creationTime);
|
||||
|
||||
@@ -30,7 +30,7 @@ $helper->log('<b>Last Modified By: </b>' . $modifiedBy);
|
||||
// Read the Date when the workbook was last modified (as a PHP timestamp value)
|
||||
$modifiedDatestamp = $spreadsheet->getProperties()->getModified();
|
||||
// Format the date and time using the standard PHP date() function
|
||||
$modifiedDate = Date::formattedDateTimeFromTimestamp("$modifiedDatestamp", 'l, d<\s\up>S</\s\up> F Y');
|
||||
$modifiedDate = Date::formattedDateTimeFromTimestamp("$modifiedDatestamp", 'l, j<\s\u\p>S</\s\u\p> F Y');
|
||||
$modifiedTime = Date::formattedDateTimeFromTimestamp("$modifiedDatestamp", 'g:i A');
|
||||
$helper->log('<b>Last Modified On: </b>' . $modifiedDate . ' at ' . $modifiedTime);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user