PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.7.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.7.1
4.0.8 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 All 149 releases
visualizer / vendor / phpoffice / phpspreadsheet / src / PhpSpreadsheet / Reader / Xlsx / SheetViewOptions.php

SheetViewOptions.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.7.1, at vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php

125 lines 4.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace PhpOffice\PhpSpreadsheet\Reader\Xlsx;
4
5 use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
6
7 class SheetViewOptions extends BaseParserClass
8 {
9 private $worksheet;
10
11 private $worksheetXml;
12
13 public function __construct(Worksheet $workSheet, \SimpleXMLElement $worksheetXml = null)
14 {
15 $this->worksheet = $workSheet;
16 $this->worksheetXml = $worksheetXml;
17 }
18
19 /**
20 * @param bool $readDataOnly
21 */
22 public function load($readDataOnly = false)
23 {
24 if ($this->worksheetXml === null) {
25 return;
26 }
27
28 if (isset($this->worksheetXml->sheetPr)) {
29 $this->tabColor($this->worksheetXml->sheetPr);
30 $this->codeName($this->worksheetXml->sheetPr);
31 $this->outlines($this->worksheetXml->sheetPr);
32 $this->pageSetup($this->worksheetXml->sheetPr);
33 }
34
35 if (isset($this->worksheetXml->sheetFormatPr)) {
36 $this->sheetFormat($this->worksheetXml->sheetFormatPr);
37 }
38
39 if (!$readDataOnly && isset($this->worksheetXml->printOptions)) {
40 $this->printOptions($this->worksheetXml->printOptions);
41 }
42 }
43
44 private function tabColor(\SimpleXMLElement $sheetPr)
45 {
46 if (isset($sheetPr->tabColor, $sheetPr->tabColor['rgb'])) {
47 $this->worksheet->getTabColor()->setARGB((string) $sheetPr->tabColor['rgb']);
48 }
49 }
50
51 private function codeName(\SimpleXMLElement $sheetPr)
52 {
53 if (isset($sheetPr['codeName'])) {
54 $this->worksheet->setCodeName((string) $sheetPr['codeName'], false);
55 }
56 }
57
58 private function outlines(\SimpleXMLElement $sheetPr)
59 {
60 if (isset($sheetPr->outlinePr)) {
61 if (isset($sheetPr->outlinePr['summaryRight']) &&
62 !self::boolean((string) $sheetPr->outlinePr['summaryRight'])) {
63 $this->worksheet->setShowSummaryRight(false);
64 } else {
65 $this->worksheet->setShowSummaryRight(true);
66 }
67
68 if (isset($sheetPr->outlinePr['summaryBelow']) &&
69 !self::boolean((string) $sheetPr->outlinePr['summaryBelow'])) {
70 $this->worksheet->setShowSummaryBelow(false);
71 } else {
72 $this->worksheet->setShowSummaryBelow(true);
73 }
74 }
75 }
76
77 private function pageSetup(\SimpleXMLElement $sheetPr)
78 {
79 if (isset($sheetPr->pageSetUpPr)) {
80 if (isset($sheetPr->pageSetUpPr['fitToPage']) &&
81 !self::boolean((string) $sheetPr->pageSetUpPr['fitToPage'])) {
82 $this->worksheet->getPageSetup()->setFitToPage(false);
83 } else {
84 $this->worksheet->getPageSetup()->setFitToPage(true);
85 }
86 }
87 }
88
89 private function sheetFormat(\SimpleXMLElement $sheetFormatPr)
90 {
91 if (isset($sheetFormatPr['customHeight']) &&
92 self::boolean((string) $sheetFormatPr['customHeight']) &&
93 isset($sheetFormatPr['defaultRowHeight'])) {
94 $this->worksheet->getDefaultRowDimension()
95 ->setRowHeight((float) $sheetFormatPr['defaultRowHeight']);
96 }
97
98 if (isset($sheetFormatPr['defaultColWidth'])) {
99 $this->worksheet->getDefaultColumnDimension()
100 ->setWidth((float) $sheetFormatPr['defaultColWidth']);
101 }
102
103 if (isset($sheetFormatPr['zeroHeight']) &&
104 ((string) $sheetFormatPr['zeroHeight'] === '1')) {
105 $this->worksheet->getDefaultRowDimension()->setZeroHeight(true);
106 }
107 }
108
109 private function printOptions(\SimpleXMLElement $printOptions)
110 {
111 if (self::boolean((string) $printOptions['gridLinesSet'])) {
112 $this->worksheet->setShowGridlines(true);
113 }
114 if (self::boolean((string) $printOptions['gridLines'])) {
115 $this->worksheet->setPrintGridlines(true);
116 }
117 if (self::boolean((string) $printOptions['horizontalCentered'])) {
118 $this->worksheet->getPageSetup()->setHorizontalCentered(true);
119 }
120 if (self::boolean((string) $printOptions['verticalCentered'])) {
121 $this->worksheet->getPageSetup()->setVerticalCentered(true);
122 }
123 }
124 }
125