public function writeUrlInternal($row1, $col1, $row2, $col2, $url)
    {
        $record = 0x01B8; // Record identifier
        $length = 0x00000; // Bytes to follow

        // Strip URL type
        $url = preg_replace('/^internal:/', '', $url);

        // Pack the undocumented parts of the hyperlink stream
        $unknown1 = pack('H*', 'D0C9EA79F9BACE118C8200AA004BA90B02000000');

        // Pack the option flags
        $options = pack('V', 0x08);

        // Convert the URL type and to a null terminated wchar string
        $url .= "\0";

        // character count
        $url_len = StringHelper::countCharacters($url);
        $url_len = pack('V', $url_len);

        $url = StringHelper::convertEncoding($url, 'UTF-16LE', 'UTF-8');

        // Calculate the data length
        $length = 0x24 + strlen($url);

        // Pack the header data
        $header = pack('vv', $record, $length);
        $data = pack('vvvv', $row1, $row2, $col1, $col2);

        // Write the packed data
        $this->append($header . $data . $unknown1 . $options . $url_len . $url);

        return 0;
    }
public function writeUrlInternal($row1, $col1, $row2, $col2, $url)
    {
        $record = 0x01B8; // Record identifier
        $length = 0x00000; // Bytes to follow

        // Strip URL type
        $url = preg_replace('/^internal:/', '', $url);

        // Pack the undocumented parts of the hyperlink stream
        $unknown1 = pack('H*', 'D0C9EA79F9BACE118C8200AA004BA90B02000000');

        // Pack the option flags
        $options = pack('V', 0x08);

        // Convert the URL type and to a null terminated wchar string
        $url .= "\0";

        // character count
        $url_len = StringHelper::countCharacters($url);
        $url_len = pack('V', $url_len);

        $url = StringHelper::convertEncoding($url, 'UTF-16LE', 'UTF-8');

        // Calculate the data length
        $length = 0x24 + strlen($url);

        // Pack the header data
        $header = pack('vv', $record, $length);
        $data = pack('vvvv', $row1, $row2, $col1, $col2);

        // Write the packed data
        $this->append($header . $data . $unknown1 . $options . $url_len . $url);

        return 0;
    }
public function writeUrlInternal ( $ row1 , $ col1 , $ row2 , $ col2 , $ url ) { $ record = 0x01B8 ; // Record identifier $ length = 0x00000 ; // Bytes to follow // Strip URL type $ url = preg_replace ( '/^internal:/' , '' , $ url ) ; // Pack the undocumented parts of the hyperlink stream $ unknown1 = pack ( 'H*' , 'D0C9EA79F9BACE118C8200AA004BA90B02000000' ) ; // Pack the option flags $ options = pack ( 'V' , 0x08 ) ; // Convert the URL type and to a null terminated wchar string $ url .= "\0" ; // character count $ url_len = StringHelper :: countCharacters ( $ url ) ; $ url_len = pack ( 'V' , $ url_len ) ; $ url = StringHelper :: convertEncoding ( $ url , 'UTF-16LE' , 'UTF-8' ) ; // Calculate the data length $ length = 0x24 + strlen ( $ url ) ; // Pack the header data $ header = pack ( 'vv' , $ record , $ length ) ; $ data = pack ( 'vvvv' , $ row1 , $ row2 , $ col1 , $ col2 ) ; // Write the packed data $ this -> append ( $ header . $ data . $ unknown1 . $ options . $ url_len . $ url ) ; return 0 ; }
Used to write internal reference hyperlinks such as "Sheet1!A1".

@see writeUrl()

@param int $row1 Start row
@param int $col1 Start column
@param int $row2 End row
@param int $col2 End column
@param string $url URL string

@return int
Used to write internal reference hyperlinks such as Sheet1!A1 .