41 lines
1.3 KiB
PHP
41 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace PhpOffice\PhpSpreadsheet\Calculation\LookupRef;
|
|
|
|
use PhpOffice\PhpSpreadsheet\Calculation\Functions;
|
|
use PhpOffice\PhpSpreadsheet\Cell\Cell;
|
|
|
|
class Hyperlink
|
|
{
|
|
/**
|
|
* HYPERLINK.
|
|
*
|
|
* Excel Function:
|
|
* =HYPERLINK(linkURL, [displayName])
|
|
*
|
|
* @param mixed $linkURL Expect string. Value to check, is also the value returned when no error
|
|
* @param mixed $displayName Expect string. Value to return when testValue is an error condition
|
|
* @param Cell $cell The cell to set the hyperlink in
|
|
*
|
|
* @return mixed The value of $displayName (or $linkURL if $displayName was blank)
|
|
*/
|
|
public static function set($linkURL = '', $displayName = null, ?Cell $cell = null)
|
|
{
|
|
$linkURL = ($linkURL === null) ? '' : Functions::flattenSingleValue($linkURL);
|
|
$displayName = ($displayName === null) ? '' : Functions::flattenSingleValue($displayName);
|
|
|
|
if ((!is_object($cell)) || (trim($linkURL) == '')) {
|
|
return Functions::REF();
|
|
}
|
|
|
|
if ((is_object($displayName)) || trim($displayName) == '') {
|
|
$displayName = $linkURL;
|
|
}
|
|
|
|
$cell->getHyperlink()->setUrl($linkURL);
|
|
$cell->getHyperlink()->setTooltip($displayName);
|
|
|
|
return $displayName;
|
|
}
|
|
}
|