Для любого вида полезных манипуляций с ячейками, кроме базового подхода к выводу .csv, вы можете рассмотреть PHP COM.
Вот очень грубый пример, который сильно заимствует из этой ссылки просто, чтобы дать вам суть того, как она будет выглядеть:
//create instance of excel on the server
$excel = new COM("excel.application") or die("Unable to create excel object");
//add a book and a worksheet and activate the worksheet
$workbook = $excel->Workbooks->Add();
$worksheet=$workbook->Worksheets(1);
$worksheet->activate;
//pick an active cell (here it's A1) and add text plus a hyperlink
$cell=$worksheet->Cells(1,1);
$cell->Activate;
$cell->value = 'your hyperlink text';
//i took this syntax from my native MS VBA, so check syntax
$cell->Hyperlinks.Add.ActiveCell, 'http://yourdomain.com'
//save your doc
$worksheet->SaveAs([[your path]]);
//close everything up and free up resources
$worksheet->Close(false);
$excel->Workbooks->Close();
unset($sheet);
$excel->Quit();
$excel = null;
Результаты могут отличаться, в зависимости от всех сообщений об ошибках, прочитанных по этой теме.