Estoy creando un excel desde php con la libreria phpexcel. El problema lo tengo cuando quiero poner mas de una linea (retorno de carro) dentro de una misma celda.
Si hago lo siguiente funciona:
$campo = "Hello\nWord";
$objPHPExcel->getActiveSheet()->setCellValue($letra.$pos, "$campo");
$objPHPExcel->getActiveSheet()->getStyle($letra.$pos)->getAlignment()->setWrapText(true);
En cambio si hago lo siguiente no funciona y en excel la celda me la pone por ejemplo de la siguiente forma : prueba\nexcel\n desdephp
$campo = htmlspecialchars(str_replace('<br>','\n',$result[$i]['description']));
$objPHPExcel->getActiveSheet()->setCellValue($letra.$pos, "$campo");
$objPHPExcel->getActiveSheet()->getStyle($letra.$pos)->getAlignment()->setWrapText(true);
Lo he probado de mil formas y nada :(
alguien se le ocurre que puede ser?
Gracias.
El caracter \n es nueva linea y se parsea SOLO si va entre comillas dobles.
$campo = htmlspecialchars(str_replace('<br>',"\n",$result[$i]['description']));
Saludos
Siii, funciona!! gracias.
Ahora el "unico" problema que tengo es que cuando se abre en excel me pone 'intros' principio. Estoy viendo como arreglarlo.
Ya lo he arreglado. Faltaba alinearlo verticalmente.
$objPHPExcel->getActiveSheet()->getStyle($letra.$pos)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP);