mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-10-09 21:37:25 +00:00
Reorganize Samples
The samples have become unwieldy when running them from a browser. In particular, the drop-down lists are fixed size with no scrolling, and many of them are now just too large. I have moved all the Calculation samples up a level, and broken several categories (Basic, Chart, DateTime, Engineering, Financial, and Reader) into several pieces. Convert-Online (now found in the Engineering category) had a number of different problems which are now resolved. It is the only member with any significant code change.
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Shared\File;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$inputFileType = 'Xlsx';
|
||||
|
||||
$helper->log('Start');
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
$aSheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
$gdImage = @imagecreatetruecolor(120, 20);
|
||||
if ($gdImage === false) {
|
||||
throw new Exception('imagecreatetruecolor failed');
|
||||
}
|
||||
$textColor = imagecolorallocate($gdImage, 255, 255, 255);
|
||||
if ($textColor === false) {
|
||||
throw new Exception('imagecolorallocate failed');
|
||||
}
|
||||
imagestring($gdImage, 1, 5, 5, 'Created with PhpSpreadsheet', $textColor);
|
||||
|
||||
$baseUrl = 'https://phpspreadsheet.readthedocs.io';
|
||||
|
||||
$drawing = new PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing();
|
||||
$drawing->setName('In-Memory image 1');
|
||||
$drawing->setDescription('In-Memory image 1');
|
||||
$drawing->setCoordinates('A1');
|
||||
$drawing->setImageResource($gdImage);
|
||||
$drawing->setRenderingFunction(
|
||||
PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::RENDERING_JPEG
|
||||
);
|
||||
$drawing->setMimeType(PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE_DEFAULT);
|
||||
$drawing->setHeight(36);
|
||||
$helper->log('Write image');
|
||||
|
||||
$hyperLink = new PhpOffice\PhpSpreadsheet\Cell\Hyperlink($baseUrl, 'test image');
|
||||
$drawing->setHyperlink($hyperLink);
|
||||
$helper->log('Write link: ' . $baseUrl);
|
||||
|
||||
$drawing->setWorksheet($aSheet);
|
||||
|
||||
$filename = File::temporaryFilename();
|
||||
|
||||
$writer = PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, $inputFileType);
|
||||
$writer->save($filename);
|
||||
|
||||
$reader = PhpOffice\PhpSpreadsheet\IOFactory::createReader($inputFileType);
|
||||
|
||||
$reloadedSpreadsheet = $reader->load($filename);
|
||||
unlink($filename);
|
||||
|
||||
$helper->log('reloaded Spreadsheet');
|
||||
|
||||
foreach ($reloadedSpreadsheet->getActiveSheet()->getDrawingCollection() as $pDrawing) {
|
||||
$helper->log('Read link: ' . ($pDrawing->getHyperlink()?->getUrl() ?? 'none'));
|
||||
}
|
||||
|
||||
$helper->log('end');
|
||||
Reference in New Issue
Block a user