__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
use SimpleXMLElement;
class Hyperlinks
{
/** @var Worksheet */
private $worksheet;
/** @var array */
private $hyperlinks = [];
public function __construct(Worksheet $workSheet)
{
$this->worksheet = $workSheet;
}
public function readHyperlinks(SimpleXMLElement $relsWorksheet): void
{
foreach ($relsWorksheet->children(Namespaces::RELATIONSHIPS)->Relationship as $elementx) {
$element = Xlsx::getAttributes($elementx);
if ($element->Type == Namespaces::HYPERLINK) {
$this->hyperlinks[(string) $element->Id] = (string) $element->Target;
}
}
}
public function setHyperlinks(SimpleXMLElement $worksheetXml): void
{
foreach ($worksheetXml->children(Namespaces::MAIN)->hyperlink as $hyperlink) {
if ($hyperlink !== null) {
$this->setHyperlink($hyperlink, $this->worksheet);
}
}
}
private function setHyperlink(SimpleXMLElement $hyperlink, Worksheet $worksheet): void
{
// Link url
$linkRel = Xlsx::getAttributes($hyperlink, Namespaces::SCHEMA_OFFICE_DOCUMENT);
$attributes = Xlsx::getAttributes($hyperlink);
foreach (Coordinate::extractAllCellReferencesInRange($attributes->ref) as $cellReference) {
$cell = $worksheet->getCell($cellReference);
if (isset($linkRel['id'])) {
$hyperlinkUrl = $this->hyperlinks[(string) $linkRel['id']] ?? null;
if (isset($attributes['location'])) {
$hyperlinkUrl .= '#' . (string) $attributes['location'];
}
$cell->getHyperlink()->setUrl($hyperlinkUrl);
} elseif (isset($attributes['location'])) {
$cell->getHyperlink()->setUrl('sheet://' . (string) $attributes['location']);
}
// Tooltip
if (isset($attributes['tooltip'])) {
$cell->getHyperlink()->setTooltip((string) $attributes['tooltip']);
}
}
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| AutoFilter.php | File | 6.63 KB | 0777 |
|
| BaseParserClass.php | File | 429 B | 0777 |
|
| Chart.php | File | 76.34 KB | 0777 |
|
| ColumnAndRowAttributes.php | File | 8.77 KB | 0777 |
|
| ConditionalStyles.php | File | 10.95 KB | 0777 |
|
| DataValidations.php | File | 3.16 KB | 0777 |
|
| Hyperlinks.php | File | 2.21 KB | 0777 |
|
| Namespaces.php | File | 5.17 KB | 0777 |
|
| PageSetup.php | File | 6.97 KB | 0777 |
|
| Properties.php | File | 4.46 KB | 0777 |
|
| SharedFormula.php | File | 446 B | 0777 |
|
| SheetViewOptions.php | File | 4.72 KB | 0777 |
|
| SheetViews.php | File | 4.71 KB | 0777 |
|
| Styles.php | File | 15.95 KB | 0777 |
|
| TableReader.php | File | 3.62 KB | 0777 |
|
| Theme.php | File | 1.4 KB | 0777 |
|
| WorkbookView.php | File | 5.63 KB | 0777 |
|