Phpstan Baseline < 4000 Lines Part 3 (#3041)
The last of these changes for now. No remaining Phpstan complaints in any Writer/Xlsx. Number of lines remaining in Phpstan baseline is now below 3500.
This commit is contained in:
parent
4f8aa806bc
commit
5f33ec0eea
|
|
@ -3474,198 +3474,3 @@ parameters:
|
||||||
message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Xf\\:\\:\\$diag is never read, only written\\.$#"
|
message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Xf\\:\\:\\$diag is never read, only written\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
path: src/PhpSpreadsheet/Writer/Xls/Xf.php
|
path: src/PhpSpreadsheet/Writer/Xls/Xf.php
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#1 \\$path of function basename expects string, array\\|string\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#1 \\$path of function dirname expects string, array\\|string\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Possibly invalid array key type array\\|string\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\:\\:\\$pathNames has no type specified\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Expression on left side of \\?\\? is not nullable\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/DefinedNames.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeUnparsedRelationship\\(\\) has parameter \\$relationship with no type specified\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeUnparsedRelationship\\(\\) has parameter \\$type with no type specified\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$id of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeRelationship\\(\\) expects int, string given\\.$#"
|
|
||||||
count: 5
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#4 \\$target of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeRelationship\\(\\) expects string, array\\|string\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getBold\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getColor\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getItalic\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getName\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getSize\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getStrikethrough\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getSubscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 2
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getSuperscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 2
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getUnderline\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Instanceof between \\*NEVER\\* and PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\RichText will always evaluate to false\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Instanceof between string and PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\RichText will always evaluate to false\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#1 \\$text of method PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\RichText\\:\\:createTextRun\\(\\) expects string, string\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, float\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
|
|
||||||
count: 2
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<0, max\\> given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, string\\|null given\\.$#"
|
|
||||||
count: 4
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Cannot call method getStyle\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Conditional\\|null\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Comparison operation \"\\<\" between int\\<min, \\-1\\> and 0 is always true\\.$#"
|
|
||||||
count: 2
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$borders of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Style\\:\\:writeBorder\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Borders, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Borders\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$fill of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Style\\:\\:writeFill\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Fill, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Fill\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$font of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Style\\:\\:writeFont\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$numberFormat of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Style\\:\\:writeNumFmt\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, float given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
|
|
||||||
count: 22
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<0, max\\> given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<1, max\\> given\\.$#"
|
|
||||||
count: 2
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\|null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, string\\|null given\\.$#"
|
|
||||||
count: 7
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Result of \\|\\| is always true\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
|
|
||||||
|
|
|
||||||
|
|
@ -349,12 +349,15 @@ class Xlsx extends BaseWriter
|
||||||
//a custom UI in this workbook ? add it ("base" xml and additional objects (pictures) and rels)
|
//a custom UI in this workbook ? add it ("base" xml and additional objects (pictures) and rels)
|
||||||
if ($this->spreadSheet->hasRibbon()) {
|
if ($this->spreadSheet->hasRibbon()) {
|
||||||
$tmpRibbonTarget = $this->spreadSheet->getRibbonXMLData('target');
|
$tmpRibbonTarget = $this->spreadSheet->getRibbonXMLData('target');
|
||||||
|
$tmpRibbonTarget = is_string($tmpRibbonTarget) ? $tmpRibbonTarget : '';
|
||||||
$zipContent[$tmpRibbonTarget] = $this->spreadSheet->getRibbonXMLData('data');
|
$zipContent[$tmpRibbonTarget] = $this->spreadSheet->getRibbonXMLData('data');
|
||||||
if ($this->spreadSheet->hasRibbonBinObjects()) {
|
if ($this->spreadSheet->hasRibbonBinObjects()) {
|
||||||
$tmpRootPath = dirname($tmpRibbonTarget) . '/';
|
$tmpRootPath = dirname($tmpRibbonTarget) . '/';
|
||||||
$ribbonBinObjects = $this->spreadSheet->getRibbonBinObjects('data'); //the files to write
|
$ribbonBinObjects = $this->spreadSheet->getRibbonBinObjects('data'); //the files to write
|
||||||
foreach ($ribbonBinObjects as $aPath => $aContent) {
|
if (is_array($ribbonBinObjects)) {
|
||||||
$zipContent[$tmpRootPath . $aPath] = $aContent;
|
foreach ($ribbonBinObjects as $aPath => $aContent) {
|
||||||
|
$zipContent[$tmpRootPath . $aPath] = $aContent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//the rels for files
|
//the rels for files
|
||||||
$zipContent[$tmpRootPath . '_rels/' . basename($tmpRibbonTarget) . '.rels'] = $this->getWriterPartRelsRibbon()->writeRibbonRelationships($this->spreadSheet);
|
$zipContent[$tmpRootPath . '_rels/' . basename($tmpRibbonTarget) . '.rels'] = $this->getWriterPartRelsRibbon()->writeRibbonRelationships($this->spreadSheet);
|
||||||
|
|
@ -684,6 +687,7 @@ class Xlsx extends BaseWriter
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @var array */
|
||||||
private $pathNames = [];
|
private $pathNames = [];
|
||||||
|
|
||||||
private function addZipFile(string $path, string $content): void
|
private function addZipFile(string $path, string $content): void
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ class DefinedNames
|
||||||
$range[1] = Coordinate::absoluteCoordinate($range[1]);
|
$range[1] = Coordinate::absoluteCoordinate($range[1]);
|
||||||
$range = implode(':', $range);
|
$range = implode(':', $range);
|
||||||
|
|
||||||
$this->objWriter->writeRawData('\'' . str_replace("'", "''", $worksheet->getTitle() ?? '') . '\'!' . $range);
|
$this->objWriter->writeRawData('\'' . str_replace("'", "''", $worksheet->getTitle()) . '\'!' . $range);
|
||||||
|
|
||||||
$this->objWriter->endElement();
|
$this->objWriter->endElement();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,12 +67,13 @@ class Rels extends WriterPart
|
||||||
'xl/workbook.xml'
|
'xl/workbook.xml'
|
||||||
);
|
);
|
||||||
// a custom UI in workbook ?
|
// a custom UI in workbook ?
|
||||||
|
$target = $spreadsheet->getRibbonXMLData('target');
|
||||||
if ($spreadsheet->hasRibbon()) {
|
if ($spreadsheet->hasRibbon()) {
|
||||||
$this->writeRelationShip(
|
$this->writeRelationShip(
|
||||||
$objWriter,
|
$objWriter,
|
||||||
5,
|
5,
|
||||||
'http://schemas.microsoft.com/office/2006/relationships/ui/extensibility',
|
'http://schemas.microsoft.com/office/2006/relationships/ui/extensibility',
|
||||||
$spreadsheet->getRibbonXMLData('target')
|
is_string($target) ? $target : ''
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -284,7 +285,7 @@ class Rels extends WriterPart
|
||||||
return $objWriter->getData();
|
return $objWriter->getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function writeUnparsedRelationship(\PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $worksheet, XMLWriter $objWriter, $relationship, $type): void
|
private function writeUnparsedRelationship(\PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $worksheet, XMLWriter $objWriter, string $relationship, string $type): void
|
||||||
{
|
{
|
||||||
$unparsedLoadedData = $worksheet->getParent()->getUnparsedLoadedData();
|
$unparsedLoadedData = $worksheet->getParent()->getUnparsedLoadedData();
|
||||||
if (!isset($unparsedLoadedData['sheets'][$worksheet->getCodeName()][$relationship])) {
|
if (!isset($unparsedLoadedData['sheets'][$worksheet->getCodeName()][$relationship])) {
|
||||||
|
|
@ -448,7 +449,7 @@ class Rels extends WriterPart
|
||||||
/**
|
/**
|
||||||
* Write Override content type.
|
* Write Override content type.
|
||||||
*
|
*
|
||||||
* @param int $id Relationship ID. rId will be prepended!
|
* @param int|string $id Relationship ID. rId will be prepended!
|
||||||
* @param string $type Relationship type
|
* @param string $type Relationship type
|
||||||
* @param string $target Relationship target
|
* @param string $target Relationship target
|
||||||
* @param string $targetMode Relationship target mode
|
* @param string $targetMode Relationship target mode
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ class StringTable extends WriterPart
|
||||||
/**
|
/**
|
||||||
* Write string table to XML format.
|
* Write string table to XML format.
|
||||||
*
|
*
|
||||||
* @param string[] $stringTable
|
* @param (string|RichText)[] $stringTable
|
||||||
*
|
*
|
||||||
* @return string XML Output
|
* @return string XML Output
|
||||||
*/
|
*/
|
||||||
|
|
@ -86,13 +86,13 @@ class StringTable extends WriterPart
|
||||||
// String table
|
// String table
|
||||||
$objWriter->startElement('sst');
|
$objWriter->startElement('sst');
|
||||||
$objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main');
|
$objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main');
|
||||||
$objWriter->writeAttribute('uniqueCount', count($stringTable));
|
$objWriter->writeAttribute('uniqueCount', (string) count($stringTable));
|
||||||
|
|
||||||
// Loop through string table
|
// Loop through string table
|
||||||
foreach ($stringTable as $textElement) {
|
foreach ($stringTable as $textElement) {
|
||||||
$objWriter->startElement('si');
|
$objWriter->startElement('si');
|
||||||
|
|
||||||
if (!$textElement instanceof RichText) {
|
if (!($textElement instanceof RichText)) {
|
||||||
$textToWrite = StringHelper::controlCharacterPHP2OOXML($textElement);
|
$textToWrite = StringHelper::controlCharacterPHP2OOXML($textElement);
|
||||||
$objWriter->startElement('t');
|
$objWriter->startElement('t');
|
||||||
if ($textToWrite !== trim($textToWrite)) {
|
if ($textToWrite !== trim($textToWrite)) {
|
||||||
|
|
@ -100,7 +100,7 @@ class StringTable extends WriterPart
|
||||||
}
|
}
|
||||||
$objWriter->writeRawData($textToWrite);
|
$objWriter->writeRawData($textToWrite);
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
} elseif ($textElement instanceof RichText) {
|
} else {
|
||||||
$this->writeRichText($objWriter, $textElement);
|
$this->writeRichText($objWriter, $textElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -130,14 +130,16 @@ class StringTable extends WriterPart
|
||||||
$objWriter->startElement($prefix . 'r');
|
$objWriter->startElement($prefix . 'r');
|
||||||
|
|
||||||
// rPr
|
// rPr
|
||||||
if ($element instanceof Run) {
|
if ($element instanceof Run && $element->getFont() !== null) {
|
||||||
// rPr
|
// rPr
|
||||||
$objWriter->startElement($prefix . 'rPr');
|
$objWriter->startElement($prefix . 'rPr');
|
||||||
|
|
||||||
// rFont
|
// rFont
|
||||||
$objWriter->startElement($prefix . 'rFont');
|
if ($element->getFont()->getName() !== null) {
|
||||||
$objWriter->writeAttribute('val', $element->getFont()->getName());
|
$objWriter->startElement($prefix . 'rFont');
|
||||||
$objWriter->endElement();
|
$objWriter->writeAttribute('val', $element->getFont()->getName());
|
||||||
|
$objWriter->endElement();
|
||||||
|
}
|
||||||
|
|
||||||
// Bold
|
// Bold
|
||||||
$objWriter->startElement($prefix . 'b');
|
$objWriter->startElement($prefix . 'b');
|
||||||
|
|
@ -166,19 +168,25 @@ class StringTable extends WriterPart
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
// Color
|
// Color
|
||||||
$objWriter->startElement($prefix . 'color');
|
if ($element->getFont()->getColor()->getARGB() !== null) {
|
||||||
$objWriter->writeAttribute('rgb', $element->getFont()->getColor()->getARGB());
|
$objWriter->startElement($prefix . 'color');
|
||||||
$objWriter->endElement();
|
$objWriter->writeAttribute('rgb', $element->getFont()->getColor()->getARGB());
|
||||||
|
$objWriter->endElement();
|
||||||
|
}
|
||||||
|
|
||||||
// Size
|
// Size
|
||||||
$objWriter->startElement($prefix . 'sz');
|
if ($element->getFont()->getSize() !== null) {
|
||||||
$objWriter->writeAttribute('val', $element->getFont()->getSize());
|
$objWriter->startElement($prefix . 'sz');
|
||||||
$objWriter->endElement();
|
$objWriter->writeAttribute('val', (string) $element->getFont()->getSize());
|
||||||
|
$objWriter->endElement();
|
||||||
|
}
|
||||||
|
|
||||||
// Underline
|
// Underline
|
||||||
$objWriter->startElement($prefix . 'u');
|
if ($element->getFont()->getUnderline() !== null) {
|
||||||
$objWriter->writeAttribute('val', $element->getFont()->getUnderline());
|
$objWriter->startElement($prefix . 'u');
|
||||||
$objWriter->endElement();
|
$objWriter->writeAttribute('val', $element->getFont()->getUnderline());
|
||||||
|
$objWriter->endElement();
|
||||||
|
}
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
}
|
}
|
||||||
|
|
@ -201,10 +209,10 @@ class StringTable extends WriterPart
|
||||||
*/
|
*/
|
||||||
public function writeRichTextForCharts(XMLWriter $objWriter, $richText = null, $prefix = ''): void
|
public function writeRichTextForCharts(XMLWriter $objWriter, $richText = null, $prefix = ''): void
|
||||||
{
|
{
|
||||||
if (!$richText instanceof RichText) {
|
if (!($richText instanceof RichText)) {
|
||||||
$textRun = $richText;
|
$textRun = $richText;
|
||||||
$richText = new RichText();
|
$richText = new RichText();
|
||||||
$run = $richText->createTextRun($textRun);
|
$run = $richText->createTextRun($textRun ?? '');
|
||||||
$run->setFont(null);
|
$run->setFont(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -226,9 +234,9 @@ class StringTable extends WriterPart
|
||||||
}
|
}
|
||||||
|
|
||||||
// Bold
|
// Bold
|
||||||
$objWriter->writeAttribute('b', ($element->getFont()->getBold() ? 1 : 0));
|
$objWriter->writeAttribute('b', ($element->getFont()->getBold() ? '1' : '0'));
|
||||||
// Italic
|
// Italic
|
||||||
$objWriter->writeAttribute('i', ($element->getFont()->getItalic() ? 1 : 0));
|
$objWriter->writeAttribute('i', ($element->getFont()->getItalic() ? '1' : '0'));
|
||||||
// Underline
|
// Underline
|
||||||
$underlineType = $element->getFont()->getUnderline();
|
$underlineType = $element->getFont()->getUnderline();
|
||||||
switch ($underlineType) {
|
switch ($underlineType) {
|
||||||
|
|
@ -241,7 +249,9 @@ class StringTable extends WriterPart
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$objWriter->writeAttribute('u', $underlineType);
|
if ($underlineType !== null) {
|
||||||
|
$objWriter->writeAttribute('u', $underlineType);
|
||||||
|
}
|
||||||
// Strikethrough
|
// Strikethrough
|
||||||
$objWriter->writeAttribute('strike', ($element->getFont()->getStriketype() ?: 'noStrike'));
|
$objWriter->writeAttribute('strike', ($element->getFont()->getStriketype() ?: 'noStrike'));
|
||||||
// Superscript/subscript
|
// Superscript/subscript
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ class Style extends WriterPart
|
||||||
|
|
||||||
// numFmts
|
// numFmts
|
||||||
$objWriter->startElement('numFmts');
|
$objWriter->startElement('numFmts');
|
||||||
$objWriter->writeAttribute('count', $this->getParentWriter()->getNumFmtHashTable()->count());
|
$objWriter->writeAttribute('count', (string) $this->getParentWriter()->getNumFmtHashTable()->count());
|
||||||
|
|
||||||
// numFmt
|
// numFmt
|
||||||
for ($i = 0; $i < $this->getParentWriter()->getNumFmtHashTable()->count(); ++$i) {
|
for ($i = 0; $i < $this->getParentWriter()->getNumFmtHashTable()->count(); ++$i) {
|
||||||
|
|
@ -51,54 +51,63 @@ class Style extends WriterPart
|
||||||
|
|
||||||
// fonts
|
// fonts
|
||||||
$objWriter->startElement('fonts');
|
$objWriter->startElement('fonts');
|
||||||
$objWriter->writeAttribute('count', $this->getParentWriter()->getFontHashTable()->count());
|
$objWriter->writeAttribute('count', (string) $this->getParentWriter()->getFontHashTable()->count());
|
||||||
|
|
||||||
// font
|
// font
|
||||||
for ($i = 0; $i < $this->getParentWriter()->getFontHashTable()->count(); ++$i) {
|
for ($i = 0; $i < $this->getParentWriter()->getFontHashTable()->count(); ++$i) {
|
||||||
$this->writeFont($objWriter, $this->getParentWriter()->getFontHashTable()->getByIndex($i));
|
$thisfont = $this->getParentWriter()->getFontHashTable()->getByIndex($i);
|
||||||
|
if ($thisfont !== null) {
|
||||||
|
$this->writeFont($objWriter, $thisfont);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
// fills
|
// fills
|
||||||
$objWriter->startElement('fills');
|
$objWriter->startElement('fills');
|
||||||
$objWriter->writeAttribute('count', $this->getParentWriter()->getFillHashTable()->count());
|
$objWriter->writeAttribute('count', (string) $this->getParentWriter()->getFillHashTable()->count());
|
||||||
|
|
||||||
// fill
|
// fill
|
||||||
for ($i = 0; $i < $this->getParentWriter()->getFillHashTable()->count(); ++$i) {
|
for ($i = 0; $i < $this->getParentWriter()->getFillHashTable()->count(); ++$i) {
|
||||||
$this->writeFill($objWriter, $this->getParentWriter()->getFillHashTable()->getByIndex($i));
|
$thisfill = $this->getParentWriter()->getFillHashTable()->getByIndex($i);
|
||||||
|
if ($thisfill !== null) {
|
||||||
|
$this->writeFill($objWriter, $thisfill);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
// borders
|
// borders
|
||||||
$objWriter->startElement('borders');
|
$objWriter->startElement('borders');
|
||||||
$objWriter->writeAttribute('count', $this->getParentWriter()->getBordersHashTable()->count());
|
$objWriter->writeAttribute('count', (string) $this->getParentWriter()->getBordersHashTable()->count());
|
||||||
|
|
||||||
// border
|
// border
|
||||||
for ($i = 0; $i < $this->getParentWriter()->getBordersHashTable()->count(); ++$i) {
|
for ($i = 0; $i < $this->getParentWriter()->getBordersHashTable()->count(); ++$i) {
|
||||||
$this->writeBorder($objWriter, $this->getParentWriter()->getBordersHashTable()->getByIndex($i));
|
$thisborder = $this->getParentWriter()->getBordersHashTable()->getByIndex($i);
|
||||||
|
if ($thisborder !== null) {
|
||||||
|
$this->writeBorder($objWriter, $thisborder);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
// cellStyleXfs
|
// cellStyleXfs
|
||||||
$objWriter->startElement('cellStyleXfs');
|
$objWriter->startElement('cellStyleXfs');
|
||||||
$objWriter->writeAttribute('count', 1);
|
$objWriter->writeAttribute('count', '1');
|
||||||
|
|
||||||
// xf
|
// xf
|
||||||
$objWriter->startElement('xf');
|
$objWriter->startElement('xf');
|
||||||
$objWriter->writeAttribute('numFmtId', 0);
|
$objWriter->writeAttribute('numFmtId', '0');
|
||||||
$objWriter->writeAttribute('fontId', 0);
|
$objWriter->writeAttribute('fontId', '0');
|
||||||
$objWriter->writeAttribute('fillId', 0);
|
$objWriter->writeAttribute('fillId', '0');
|
||||||
$objWriter->writeAttribute('borderId', 0);
|
$objWriter->writeAttribute('borderId', '0');
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
// cellXfs
|
// cellXfs
|
||||||
$objWriter->startElement('cellXfs');
|
$objWriter->startElement('cellXfs');
|
||||||
$objWriter->writeAttribute('count', count($spreadsheet->getCellXfCollection()));
|
$objWriter->writeAttribute('count', (string) count($spreadsheet->getCellXfCollection()));
|
||||||
|
|
||||||
// xf
|
// xf
|
||||||
foreach ($spreadsheet->getCellXfCollection() as $cellXf) {
|
foreach ($spreadsheet->getCellXfCollection() as $cellXf) {
|
||||||
|
|
@ -109,24 +118,27 @@ class Style extends WriterPart
|
||||||
|
|
||||||
// cellStyles
|
// cellStyles
|
||||||
$objWriter->startElement('cellStyles');
|
$objWriter->startElement('cellStyles');
|
||||||
$objWriter->writeAttribute('count', 1);
|
$objWriter->writeAttribute('count', '1');
|
||||||
|
|
||||||
// cellStyle
|
// cellStyle
|
||||||
$objWriter->startElement('cellStyle');
|
$objWriter->startElement('cellStyle');
|
||||||
$objWriter->writeAttribute('name', 'Normal');
|
$objWriter->writeAttribute('name', 'Normal');
|
||||||
$objWriter->writeAttribute('xfId', 0);
|
$objWriter->writeAttribute('xfId', '0');
|
||||||
$objWriter->writeAttribute('builtinId', 0);
|
$objWriter->writeAttribute('builtinId', '0');
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
// dxfs
|
// dxfs
|
||||||
$objWriter->startElement('dxfs');
|
$objWriter->startElement('dxfs');
|
||||||
$objWriter->writeAttribute('count', $this->getParentWriter()->getStylesConditionalHashTable()->count());
|
$objWriter->writeAttribute('count', (string) $this->getParentWriter()->getStylesConditionalHashTable()->count());
|
||||||
|
|
||||||
// dxf
|
// dxf
|
||||||
for ($i = 0; $i < $this->getParentWriter()->getStylesConditionalHashTable()->count(); ++$i) {
|
for ($i = 0; $i < $this->getParentWriter()->getStylesConditionalHashTable()->count(); ++$i) {
|
||||||
$this->writeCellStyleDxf($objWriter, $this->getParentWriter()->getStylesConditionalHashTable()->getByIndex($i)->getStyle());
|
$thisstyle = $this->getParentWriter()->getStylesConditionalHashTable()->getByIndex($i);
|
||||||
|
if ($thisstyle !== null) {
|
||||||
|
$this->writeCellStyleDxf($objWriter, $thisstyle->getStyle());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
@ -171,17 +183,19 @@ class Style extends WriterPart
|
||||||
|
|
||||||
// gradientFill
|
// gradientFill
|
||||||
$objWriter->startElement('gradientFill');
|
$objWriter->startElement('gradientFill');
|
||||||
$objWriter->writeAttribute('type', $fill->getFillType());
|
$objWriter->writeAttribute('type', (string) $fill->getFillType());
|
||||||
$objWriter->writeAttribute('degree', $fill->getRotation());
|
$objWriter->writeAttribute('degree', (string) $fill->getRotation());
|
||||||
|
|
||||||
// stop
|
// stop
|
||||||
$objWriter->startElement('stop');
|
$objWriter->startElement('stop');
|
||||||
$objWriter->writeAttribute('position', '0');
|
$objWriter->writeAttribute('position', '0');
|
||||||
|
|
||||||
// color
|
// color
|
||||||
$objWriter->startElement('color');
|
if ($fill->getStartColor()->getARGB() !== null) {
|
||||||
$objWriter->writeAttribute('rgb', $fill->getStartColor()->getARGB());
|
$objWriter->startElement('color');
|
||||||
$objWriter->endElement();
|
$objWriter->writeAttribute('rgb', $fill->getStartColor()->getARGB());
|
||||||
|
$objWriter->endElement();
|
||||||
|
}
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
|
|
@ -190,9 +204,11 @@ class Style extends WriterPart
|
||||||
$objWriter->writeAttribute('position', '1');
|
$objWriter->writeAttribute('position', '1');
|
||||||
|
|
||||||
// color
|
// color
|
||||||
$objWriter->startElement('color');
|
if ($fill->getEndColor()->getARGB() !== null) {
|
||||||
$objWriter->writeAttribute('rgb', $fill->getEndColor()->getARGB());
|
$objWriter->startElement('color');
|
||||||
$objWriter->endElement();
|
$objWriter->writeAttribute('rgb', $fill->getEndColor()->getARGB());
|
||||||
|
$objWriter->endElement();
|
||||||
|
}
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
|
|
@ -220,7 +236,7 @@ class Style extends WriterPart
|
||||||
|
|
||||||
// patternFill
|
// patternFill
|
||||||
$objWriter->startElement('patternFill');
|
$objWriter->startElement('patternFill');
|
||||||
$objWriter->writeAttribute('patternType', $fill->getFillType());
|
$objWriter->writeAttribute('patternType', (string) $fill->getFillType());
|
||||||
|
|
||||||
if (self::writePatternColors($fill)) {
|
if (self::writePatternColors($fill)) {
|
||||||
// fgColor
|
// fgColor
|
||||||
|
|
@ -360,20 +376,20 @@ class Style extends WriterPart
|
||||||
{
|
{
|
||||||
// xf
|
// xf
|
||||||
$objWriter->startElement('xf');
|
$objWriter->startElement('xf');
|
||||||
$objWriter->writeAttribute('xfId', 0);
|
$objWriter->writeAttribute('xfId', '0');
|
||||||
$objWriter->writeAttribute('fontId', (int) $this->getParentWriter()->getFontHashTable()->getIndexForHashCode($style->getFont()->getHashCode()));
|
$objWriter->writeAttribute('fontId', (string) (int) $this->getParentWriter()->getFontHashTable()->getIndexForHashCode($style->getFont()->getHashCode()));
|
||||||
if ($style->getQuotePrefix()) {
|
if ($style->getQuotePrefix()) {
|
||||||
$objWriter->writeAttribute('quotePrefix', 1);
|
$objWriter->writeAttribute('quotePrefix', '1');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($style->getNumberFormat()->getBuiltInFormatCode() === false) {
|
if ($style->getNumberFormat()->getBuiltInFormatCode() === false) {
|
||||||
$objWriter->writeAttribute('numFmtId', (int) ($this->getParentWriter()->getNumFmtHashTable()->getIndexForHashCode($style->getNumberFormat()->getHashCode()) + 164));
|
$objWriter->writeAttribute('numFmtId', (string) (int) ($this->getParentWriter()->getNumFmtHashTable()->getIndexForHashCode($style->getNumberFormat()->getHashCode()) + 164));
|
||||||
} else {
|
} else {
|
||||||
$objWriter->writeAttribute('numFmtId', (int) $style->getNumberFormat()->getBuiltInFormatCode());
|
$objWriter->writeAttribute('numFmtId', (string) (int) $style->getNumberFormat()->getBuiltInFormatCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
$objWriter->writeAttribute('fillId', (int) $this->getParentWriter()->getFillHashTable()->getIndexForHashCode($style->getFill()->getHashCode()));
|
$objWriter->writeAttribute('fillId', (string) (int) $this->getParentWriter()->getFillHashTable()->getIndexForHashCode($style->getFill()->getHashCode()));
|
||||||
$objWriter->writeAttribute('borderId', (int) $this->getParentWriter()->getBordersHashTable()->getIndexForHashCode($style->getBorders()->getHashCode()));
|
$objWriter->writeAttribute('borderId', (string) (int) $this->getParentWriter()->getBordersHashTable()->getIndexForHashCode($style->getBorders()->getHashCode()));
|
||||||
|
|
||||||
// Apply styles?
|
// Apply styles?
|
||||||
$objWriter->writeAttribute('applyFont', ($spreadsheet->getDefaultStyle()->getFont()->getHashCode() != $style->getFont()->getHashCode()) ? '1' : '0');
|
$objWriter->writeAttribute('applyFont', ($spreadsheet->getDefaultStyle()->getFont()->getHashCode() != $style->getFont()->getHashCode()) ? '1' : '0');
|
||||||
|
|
@ -387,25 +403,25 @@ class Style extends WriterPart
|
||||||
|
|
||||||
// alignment
|
// alignment
|
||||||
$objWriter->startElement('alignment');
|
$objWriter->startElement('alignment');
|
||||||
$objWriter->writeAttribute('horizontal', $style->getAlignment()->getHorizontal());
|
$objWriter->writeAttribute('horizontal', (string) $style->getAlignment()->getHorizontal());
|
||||||
$objWriter->writeAttribute('vertical', $style->getAlignment()->getVertical());
|
$objWriter->writeAttribute('vertical', (string) $style->getAlignment()->getVertical());
|
||||||
|
|
||||||
$textRotation = 0;
|
$textRotation = 0;
|
||||||
if ($style->getAlignment()->getTextRotation() >= 0) {
|
if ($style->getAlignment()->getTextRotation() >= 0) {
|
||||||
$textRotation = $style->getAlignment()->getTextRotation();
|
$textRotation = $style->getAlignment()->getTextRotation();
|
||||||
} elseif ($style->getAlignment()->getTextRotation() < 0) {
|
} else {
|
||||||
$textRotation = 90 - $style->getAlignment()->getTextRotation();
|
$textRotation = 90 - $style->getAlignment()->getTextRotation();
|
||||||
}
|
}
|
||||||
$objWriter->writeAttribute('textRotation', $textRotation);
|
$objWriter->writeAttribute('textRotation', (string) $textRotation);
|
||||||
|
|
||||||
$objWriter->writeAttribute('wrapText', ($style->getAlignment()->getWrapText() ? 'true' : 'false'));
|
$objWriter->writeAttribute('wrapText', ($style->getAlignment()->getWrapText() ? 'true' : 'false'));
|
||||||
$objWriter->writeAttribute('shrinkToFit', ($style->getAlignment()->getShrinkToFit() ? 'true' : 'false'));
|
$objWriter->writeAttribute('shrinkToFit', ($style->getAlignment()->getShrinkToFit() ? 'true' : 'false'));
|
||||||
|
|
||||||
if ($style->getAlignment()->getIndent() > 0) {
|
if ($style->getAlignment()->getIndent() > 0) {
|
||||||
$objWriter->writeAttribute('indent', $style->getAlignment()->getIndent());
|
$objWriter->writeAttribute('indent', (string) $style->getAlignment()->getIndent());
|
||||||
}
|
}
|
||||||
if ($style->getAlignment()->getReadOrder() > 0) {
|
if ($style->getAlignment()->getReadOrder() > 0) {
|
||||||
$objWriter->writeAttribute('readingOrder', $style->getAlignment()->getReadOrder());
|
$objWriter->writeAttribute('readingOrder', (string) $style->getAlignment()->getReadOrder());
|
||||||
}
|
}
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
|
|
@ -454,10 +470,10 @@ class Style extends WriterPart
|
||||||
$textRotation = 0;
|
$textRotation = 0;
|
||||||
if ($style->getAlignment()->getTextRotation() >= 0) {
|
if ($style->getAlignment()->getTextRotation() >= 0) {
|
||||||
$textRotation = $style->getAlignment()->getTextRotation();
|
$textRotation = $style->getAlignment()->getTextRotation();
|
||||||
} elseif ($style->getAlignment()->getTextRotation() < 0) {
|
} else {
|
||||||
$textRotation = 90 - $style->getAlignment()->getTextRotation();
|
$textRotation = 90 - $style->getAlignment()->getTextRotation();
|
||||||
}
|
}
|
||||||
$objWriter->writeAttribute('textRotation', $textRotation);
|
$objWriter->writeAttribute('textRotation', (string) $textRotation);
|
||||||
}
|
}
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
|
|
@ -465,7 +481,7 @@ class Style extends WriterPart
|
||||||
$this->writeBorder($objWriter, $style->getBorders());
|
$this->writeBorder($objWriter, $style->getBorders());
|
||||||
|
|
||||||
// protection
|
// protection
|
||||||
if (($style->getProtection()->getLocked() !== null) || ($style->getProtection()->getHidden() !== null)) {
|
if ((!empty($style->getProtection()->getLocked())) || (!empty($style->getProtection()->getHidden()))) {
|
||||||
if (
|
if (
|
||||||
$style->getProtection()->getLocked() !== Protection::PROTECTION_INHERIT ||
|
$style->getProtection()->getLocked() !== Protection::PROTECTION_INHERIT ||
|
||||||
$style->getProtection()->getHidden() !== Protection::PROTECTION_INHERIT
|
$style->getProtection()->getHidden() !== Protection::PROTECTION_INHERIT
|
||||||
|
|
@ -503,11 +519,13 @@ class Style extends WriterPart
|
||||||
$objWriter->writeAttribute('style', $border->getBorderStyle());
|
$objWriter->writeAttribute('style', $border->getBorderStyle());
|
||||||
|
|
||||||
// color
|
// color
|
||||||
$objWriter->startElement('color');
|
if ($border->getColor()->getARGB() !== null) {
|
||||||
$objWriter->writeAttribute('rgb', $border->getColor()->getARGB());
|
$objWriter->startElement('color');
|
||||||
$objWriter->endElement();
|
$objWriter->writeAttribute('rgb', $border->getColor()->getARGB());
|
||||||
|
$objWriter->endElement();
|
||||||
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -516,15 +534,15 @@ class Style extends WriterPart
|
||||||
*
|
*
|
||||||
* @param int $id Number Format identifier
|
* @param int $id Number Format identifier
|
||||||
*/
|
*/
|
||||||
private function writeNumFmt(XMLWriter $objWriter, NumberFormat $numberFormat, $id = 0): void
|
private function writeNumFmt(XMLWriter $objWriter, ?NumberFormat $numberFormat, $id = 0): void
|
||||||
{
|
{
|
||||||
// Translate formatcode
|
// Translate formatcode
|
||||||
$formatCode = $numberFormat->getFormatCode();
|
$formatCode = ($numberFormat === null) ? null : $numberFormat->getFormatCode();
|
||||||
|
|
||||||
// numFmt
|
// numFmt
|
||||||
if ($formatCode !== null) {
|
if ($formatCode !== null) {
|
||||||
$objWriter->startElement('numFmt');
|
$objWriter->startElement('numFmt');
|
||||||
$objWriter->writeAttribute('numFmtId', ($id + 164));
|
$objWriter->writeAttribute('numFmtId', (string) ($id + 164));
|
||||||
$objWriter->writeAttribute('formatCode', $formatCode);
|
$objWriter->writeAttribute('formatCode', $formatCode);
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue