65 votes

Comment créer de nouvelles lignes dans une cellule en utilisant phpexcel

J'ai un problème avec php excel,

Je veux créer une nouvelle ligne dans une cellule mais je n'y parviens pas. \n ou <br /> mais cela ne fonctionne pas. voici mon code :

$objPHPExcel->getActiveSheet()->setCellValue('H5', 'Hello\nWorld'); // i need this show in two line
$objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);

fyi : mon format excel est xls et non xlsx. Merci beaucoup :)

132voto

wimvds Points 8782
$objPHPExcel->getActiveSheet()->setCellValue('H5', "Hello\nWorld");
$objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);

Ça marche pour moi...

Vous devez toujours utiliser guillemets doubles lorsque vous ajoutez des séquences d'échappement dans une chaîne PHP.

32voto

Ravin Points 108

Vous devez utiliser 'r' pour passer à une nouvelle ligne dans excel avec php

et utilisez des guillemets doubles lorsque vous ajoutez des séquences d'échappement dans une chaîne PHP.

  $objPHPExcel->getActiveSheet()->setCellValue('H5', "Hello\r World");
  $objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);

11voto

Muhammad Amjad Points 46

Réponse améliorée basée sur Ravin et d'autres

$objPHPExcel
  ->getActiveSheet()
  ->setCellValue('H5', "Hello".PHP_EOL." World");

$objPHPExcel
  ->getActiveSheet()
  ->getStyle('H5')
  ->getAlignment()
  ->setWrapText(true);

10voto

Andron Points 1903

Nous pouvons définir pour le style par défaut Il n'est donc pas nécessaire de le spécifier pour chaque plage de cellules :
$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true);

-7voto

Ambrish Dharane Points 15

Pour réaliser l'exportation forxcel de la ligne suivante mais de la même cellule, c'est la solution la plus simple.

<tr>
    <td style="wrap-text: true">
        Test
        <br />
        Test2
    </td>
</tr>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X