load($filename); self::assertTrue($spreadsheet->hasRibbon()); $target = $spreadsheet->getRibbonXMLData('target'); self::assertSame('customUI/customUI.xml', $target); $data = $spreadsheet->getRibbonXMLData('data'); self::assertIsString($data); self::assertSame(1522, strlen($data)); $vbaCode = (string) $spreadsheet->getMacrosCode(); self::assertSame(13312, strlen($vbaCode)); self::assertNull($spreadsheet->getRibbonBinObjects()); self::assertNull($spreadsheet->getRibbonBinObjects('names')); self::assertNull($spreadsheet->getRibbonBinObjects('data')); self::assertEmpty($spreadsheet->getRibbonBinObjects('types')); self::assertNull($spreadsheet->getRibbonBinObjects('xxxxx')); $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx'); $spreadsheet->disconnectWorksheets(); self::assertTrue($reloadedSpreadsheet->hasRibbon()); $ribbonData = $reloadedSpreadsheet->getRibbonXmlData(); self::assertIsArray($ribbonData); self::assertSame($target, $ribbonData['target'] ?? ''); self::assertSame($data, $ribbonData['data'] ?? ''); self::assertSame($vbaCode, $reloadedSpreadsheet->getMacrosCode()); self::assertNull($reloadedSpreadsheet->getRibbonBinObjects()); $reloadedSpreadsheet->disconnectWorksheets(); } }