Exportation excel (.xls) en php fusion cellule

vaness0201 Messages postés 2 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 18 juin 2009 - 18 juin 2009 à 11:10
laflaf3d Messages postés 8 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 18 juin 2015 - 10 sept. 2009 à 14:14
salut
je souhaite exporté en php vers un fichier .xls.
J'arrive a exporter les données mais je cherche un moyen pour fussioner des cellules exel jai cherché sur google mais pas trouvé.
Pour l'exportation j'utilise un fichier biff ke l'on peu trouvé sur internet mais il n'y a pas de fonction pour fusionner des cellules.
La base de donnée ce trouve sur un serveur linux si ca peut etre utile pour m'aider help me please c pour mon stage et jai plus ke 1semaine pour finir

1 réponse

laflaf3d Messages postés 8 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 18 juin 2015
10 sept. 2009 à 14:14
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!
0
Rejoignez-nous