2017-07-07 1 views
0

Comment puis-je mettre en alignement vertical du texte sur PHPExcelComment définir le texte vertical sur PHPExcel

J'ai essayé avec

$phpExcelObject->getActiveSheet()->getStyle('B2:B5')->getAlignment()->setReadorder(
      PHPExcel_Style_Alignment::READORDER_RTL 
     ); 

Mais cela n'a pas fonctionné.

J'ai fait:

THE TEXT 

Mais je veux

T 
H 
E 

T 
E 
X 
T 

Comme l'image.

Vertical text

Répondre

1

Ce n'est pas un alignement vertical que vous voulez regarder: alignement vertical est de savoir si le contenu doit être en haut/centre/fond d'une cellule; ni RTL, qui est de droite à gauche. Vous pourriez peut-être regarder la rotation du texte, mais cela fait pivoter l'orientation du texte.

Vous devez toujours définir la hauteur de ligne sur Automatique et activer l'enrubannage.

$objPHPExcel->getActiveSheet() 
    ->getRowDimension(12) 
    ->setRowHeight(-1); 
$objPHPExcel->getActiveSheet() 
    ->getStyle('A1') 
    ->getAlignment()->setWrapText(true); 

afin qu'il atteigne la taille réelle de votre texte.

Ensuite, une option serait d'ajouter un nouveau caractère de ligne après chaque caractère dans votre chaîne avant de définir la valeur de la cellule:

$value = "THE TEXT"; 
$objPHPExcel->getActiveSheet() 
    ->setCellValue('A1', implode("\n", str_split($value)));