J'ai créer un bouton )"exporter vers Excel") qui permet de transférer les données d'un tableau php vers Excel. Rien à signaler de ce côté, l'export fonctionne correctement.
Cependant, certaines cellules de mon tableau comportent plusieurs données qui doivent s'afficher les unes en dessous des autres.
Pour mon tableau php, un simple <br /> entre chaque donnée permet d'avoir le rendu souhaité.
Mais lors de l'export vers Excel, je me retrouve avec des <br /> apparent entre chaque données dans mon tableur Excel (et c'est normal)
Or, si je veux avoir un rendu similaire dans Excel, il me faut (en plus de les supprimer) un saut de ligne (dans la même cellule).
J'ai essayé de nombreuses possibilités :
" "
CAR(10)
CAR(13)
chr(10)
"\n"
"\t"
"\r"
"\n\r"
LF
CRLF
Rien ne convient à ce que j'attend car ces solutions changent de cellule.
J'ai également essayé avec :
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties();
$sheet = $objPHPExcel->getActiveSheet();
//- saut a la ligne dans une cellule
$objPHPExcel->getActiveSheet()
->setCellValue('F2', "\r");
$objPHPExcel->getActiveSheet()->getStyle('F2')
->getAlignment()->setWrapText(true);
Avec un include de la librairie PHPExcel, mais rien de semble fonctionner
Donc si quelqu'un à une idée pour régler mon problème, je lui en serait très reconnaissant.
J'ai effectué moi-même manuellement les retour à la ligne dans mes cellules (ALT + ENTRER), sous Excel. J'ai ensuite enregistrer au format .CSV et j'ai ouvert le fichier avec un éditeur de texte (Notepad++).
J'ai un peu le même problème que toi mais qui fonctionne plus ou moins.
Pour ma part, j'insère du texte qui contient un retour à la ligne dans ma cellule .
Au niveau du résultat, tout est dans la même cellule, sauf que le retour à la ligne ne s'affiche pas (il n'y a même pas d'espace).
Pour que le retour à la ligne soit pris en compte, je dois double cliquer dans la cellule puis cliquer ailleurs, et là mon retour à la ligne est pris en compte (sans l'avoir rajouter à la main avant).
Voici comment je fais mon insertion :
$sheet->setCellValueExplicitByColumnAndRow($col, $row, $txt1."\n".$txt2);
// redimensionner la hauteur de la cellule en automatique
$sheet->getRowDimension($row)->setRowHeight(-1);
Vois si ça marche pour toi.
Et si quelqu'un à une idée pour que le retour à la ligne soit pris en compte à l'ouverture du fichier, n'hésitez pas !
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
► Rejoignez la communauté