PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.9.4
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.9.4
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 3.10.4 All 148 releases
visualizer / vendor / phpoffice / phpspreadsheet / samples / Chart / 35_Chart_render.php

35_Chart_render.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.9.4, at vendor/phpoffice/phpspreadsheet/samples/Chart/35_Chart_render.php

76 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 use PhpOffice\PhpSpreadsheet\IOFactory;
4 use PhpOffice\PhpSpreadsheet\Settings;
5
6 require __DIR__ . '/../Header.php';
7
8 // Change these values to select the Rendering library that you wish to use
9 Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\JpGraph::class);
10
11 $inputFileType = 'Xlsx';
12 $inputFileNames = __DIR__ . '/../templates/32readwrite*[0-9].xlsx';
13
14 if ((isset($argc)) && ($argc > 1)) {
15 $inputFileNames = [];
16 for ($i = 1; $i < $argc; ++$i) {
17 $inputFileNames[] = __DIR__ . '/../templates/' . $argv[$i];
18 }
19 } else {
20 $inputFileNames = glob($inputFileNames);
21 }
22 foreach ($inputFileNames as $inputFileName) {
23 $inputFileNameShort = basename($inputFileName);
24
25 if (!file_exists($inputFileName)) {
26 $helper->log('File ' . $inputFileNameShort . ' does not exist');
27
28 continue;
29 }
30
31 $helper->log("Load Test from $inputFileType file " . $inputFileNameShort);
32
33 $reader = IOFactory::createReader($inputFileType);
34 $reader->setIncludeCharts(true);
35 $spreadsheet = $reader->load($inputFileName);
36
37 $helper->log('Iterate worksheets looking at the charts');
38 foreach ($spreadsheet->getWorksheetIterator() as $worksheet) {
39 $sheetName = $worksheet->getTitle();
40 $helper->log('Worksheet: ' . $sheetName);
41
42 $chartNames = $worksheet->getChartNames();
43 if (empty($chartNames)) {
44 $helper->log(' There are no charts in this worksheet');
45 } else {
46 natsort($chartNames);
47 foreach ($chartNames as $i => $chartName) {
48 $chart = $worksheet->getChartByName($chartName);
49 if ($chart->getTitle() !== null) {
50 $caption = '"' . implode(' ', $chart->getTitle()->getCaption()) . '"';
51 } else {
52 $caption = 'Untitled';
53 }
54 $helper->log(' ' . $chartName . ' - ' . $caption);
55
56 $jpegFile = $helper->getFilename('35-' . $inputFileNameShort, 'png');
57 if (file_exists($jpegFile)) {
58 unlink($jpegFile);
59 }
60
61 try {
62 $chart->render($jpegFile);
63 $helper->log('Rendered image: ' . $jpegFile);
64 } catch (Exception $e) {
65 $helper->log('Error rendering chart: ' . $e->getMessage());
66 }
67 }
68 }
69 }
70
71 $spreadsheet->disconnectWorksheets();
72 unset($spreadsheet);
73 }
74
75 $helper->log('Done rendering charts as images');
76