如何使用phpexcel在单元格中创建新行

bun*_*ito 49 php phpexcel

我有php excel的问题,

我想在一个单元格中创建新行,但我不能,我尝试使用\n或<br />但它不起作用.我的代码:

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

fyi:我的格式excel是xls而不是xlsx.非常感谢 :)

wim*_*vds 101

$objPHPExcel->getActiveSheet()->setCellValue('H5', "Hello\nWorld");
$objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);
Run Code Online (Sandbox Code Playgroud)

对我有用......

在PHP字符串中添加转义序列时,应始终使用双引号.

  • 值得注意的是,如果您对通过合并其他单元格创建的单元格执行此操作,则应按原始映射指定所有单元格.例如,如果你通过合并B2-E6来创建B2,那么getStyle的参数是'B2:E6' (4认同)

小智 26

你应该使用'r'进入excel的新行使用php

在PHP字符串中添加转义序列时使用双引号.

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

  • +1的\ r \n这应该是接受的答案.\ r \n感谢你节省我的一天. (4认同)
  • 您可能要尝试使用PHP_EOL,因为新的行分隔符是os特定的。 (2认同)
  • 注意双引号 (2认同)

小智 9

改进了基于Ravin和其他人的答案

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

$objPHPExcel
  ->getActiveSheet()
  ->getStyle('H5')
  ->getAlignment()
  ->setWrapText(true);
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下,`PHP_EOL`是无用的,因为它将根据运行php脚本的操作系统(很可能是linux/unix服务器)提供EOL char,但该文件可能会在Windows上打开,默认EOL将在不同. (3认同)

And*_*ron 5

我们可以设置为默认样式,所以不需要为每个单元格范围指定:
$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true);