Merge pull request #1698

* Merge pull request #4 from PHPOffice/master

* Restore Omitted Read XML Test
This commit is contained in:
oleibman 2020-12-17 08:00:19 -08:00 committed by GitHub
parent 8833c239fb
commit 3025824a48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 75 additions and 3 deletions

View File

@ -617,11 +617,13 @@ class Xml extends BaseReader
++$rowID;
}
if (isset($namespaces['x'])) {
$xmlX = $worksheet->children($namespaces['x']);
if (isset($xmlX->WorksheetOptions)) {
(new PageSettings($xmlX, $namespaces))->loadPageSettings($spreadsheet);
}
}
}
++$worksheetID;
}

View File

@ -0,0 +1,70 @@
<?php
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xml;
use PhpOffice\PhpSpreadsheet\Reader\Xml;
use PhpOffice\PhpSpreadsheet\Shared\File;
use PHPUnit\Framework\TestCase;
class XmlOddTest extends TestCase
{
private $filename = '';
protected function teardown(): void
{
if ($this->filename) {
unlink($this->filename);
$this->filename = '';
}
}
public function testWriteThenRead(): void
{
$xmldata = <<< 'EOT'
<?xml version="1.0" encoding="UTF-8"?><?mso-application progid="Excel.Sheet"?>
<Workbook xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
>
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Title>Xml2003 Short Workbook</Title>
</DocumentProperties>
<CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<my_x05d0_Int dt:dt="integer">2</my_x05d0_Int>
</CustomDocumentProperties>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>9000</WindowHeight>
<WindowWidth>13860</WindowWidth>
<WindowTopX>240</WindowTopX>
<WindowTopY>75</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<ss:Worksheet ss:Name="Sample Data">
<Table>
<Column ss:Width="96.4913"/>
<Row ss:Index="8" ss:AutoFitHeight="0" ss:Height="14.9953">
<Cell>
<ss:Data ss:Type="String">Test String 1</ss:Data>
</Cell>
</Row>
</Table>
</ss:Worksheet>
</Workbook>
EOT;
$this->filename = tempnam(File::sysGetTempDir(), 'phpspreadsheet-test');
file_put_contents($this->filename, $xmldata);
$reader = new Xml();
$spreadsheet = $reader->load($this->filename);
self::assertEquals(1, $spreadsheet->getSheetCount());
$sheet = $spreadsheet->getActiveSheet();
self::assertEquals('Sample Data', $sheet->getTitle());
self::assertEquals('Test String 1', $sheet->getCell('A8')->getValue());
$props = $spreadsheet->getProperties();
self::assertEquals('Xml2003 Short Workbook', $props->getTitle());
self::assertEquals('2', $props->getCustomPropertyValue('myאInt'));
}
}