Я не могу обещать, что это работает в Spreadsheet :: WriteExcel, но в Excel :: Writer :: XLSX.Я бы посоветовал вам попробовать его в Spreadsheet :: WriteExcel.
С объединенными диапазонами, как только вы объявляете формат, вам нужно продолжать использовать его для этого диапазона и никогда не использовать его для неслитых диапазонов.Итак, если вы возьмете свой код и добавите тег и объект формата:
$Log_Sheet->merge_range("D2:E2", 'Home', $MergedFormat);
$Log_Sheet->write_url('D2', 'internal:sheet1!A1', 'Click Me!', $MergedFormat);
Похоже, что он работает ... в Excel :: Writer :: XLSX.Извините, что продолжаю ссылаться на это.
В качестве альтернативы, согласно предыдущему сообщению ( Ошибка файла: данные могут быть потеряны при предоставлении гиперссылок ), вы также можете использовать встроенную функцию гиперссылки в Excel:
my $merged = $workbook->add_format();
$worksheet->merge_range("A10:A11",
qq{=hyperlink("#'Sheet3'!A1","Click Here!")},
$merged);