Salut, je vois que ta demande date un peu mais ça servira toujours pour les autres.
Pour fusionner des cellules, et pour faire un fichier excel en général, j'utilise php_writeexcel de Johann Hanne (cf ici.)
Il faut inclure les classe nécessaires:
require_once "class.writeexcel_workbook.inc.php";
require_once "class.writeexcel_worksheet.inc.php";
créer le fichier excel
$fname ="test.xls";
$workbook = &new writeexcel_workbook($fname);
$ma_feuille = &$workbook->addworksheet();
créer un format de cellule fusionnée
$merged_cells = &$workbook->addformat();
$merged_cells = &$workbook->addformat();
$merged_cells->set_bold();
$merged_cells->set_color('black');
$merged_cells->set_fg_color('51');
$merged_cells->set_align('center');
$merged_cells->set_size('16');
$merged_cells->set_align('vcenter');
// indique qu'une cellule de ce format servira à la fusion
$merged_cells->set_merge();
écrire les lignes voulu
// créer les cellules à fusionner
// write(ligne, colonne, texte, format)
$ma_feuille->write(1, 0, "5 cellules fusionnées sur la même ligne",$merged_cells);
//write_blank(ligne, colonne, format)
$ma_feuille->write_blank(1, 1, $merged_cells);
$ma_feuille->write_blank(1, 2, $merged_cells);
$ma_feuille->write_blank(1, 3, $merged_cells);
$ma_feuille->write_blank(1, 4, $merged_cells);
$workbook->close();
header("Pragma: cache");
header("cache-control: cache");
header('Content-Length: '.filesize ($fname));
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=recup.xls");
readfile($fname);
unlink($fname);
Pour cet exemple, j'ai pris un code qui tourne chez moi et que j'ai "dégraissé", il se peut donc qu'un copier-coller bourrin ne soit pas 100% fonctionnel mais le concept est juste. Je me suis appuyé sur un exemple de l'auteur : example-merge2.php sur ce lien.
Bon courage!