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

如何使用phpexcel在单元格中创建新行,php,phpexcel,Php,Phpexcel,我对php excel有问题 我想在一个单元格中创建新行,但无法,我已尝试使用\n或但无效。这是我的代码: $objPHPExcel->getActiveSheet()->setCellValue('H5', 'Hello\nWorld'); // i need this show in two line $objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(tr

我对php excel有问题

我想在一个单元格中创建新行,但无法,我已尝试使用\n或
但无效。这是我的代码:

$objPHPExcel->getActiveSheet()->setCellValue('H5', 'Hello\nWorld'); // i need this show in two line
$objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);
仅供参考:我的excel格式是xls而不是xlsx。 非常感谢:)

为我工作


在PHP字符串中添加转义序列时,应始终使用。

应使用“r”在PHP excel中插入新行

  $objPHPExcel->getActiveSheet()->setCellValue('H5', "Hello\r World");
  $objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);
并在PHP字符串中添加转义序列时使用双引号

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

基于Ravin等人的改进答案

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

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

为了实现Xcel导出的下一行但相同的单元,这是最简单的解决方案

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

试验

测试2
我们可以设置默认样式,因此无需为每个单元格范围指定:

$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true)

您的实际代码是否引用了单元格H5或H%@Mark Baker,对不起,我刚才打错了。实际上这是针对H5细胞的。我刚刚更新了我的问题,非常感谢:)好的,第二个问题(看到你在编辑时更改了它):“Hello\nWorld”或“Hello\nWorld”?适用于字符串的标准PHP引号:双引号对字符串产生影响\n请注意,如果对通过合并其他单元格创建的单元格执行此操作,则应根据其原始映射指定所有单元格。例如,如果您通过合并B2-E6来创建B2,那么getStyle的参数是“B2:E6”。这在您的示例中是可行的,但我希望输出像Hello\n World DEMO(Hello后的新行)。但是这里创建了两行新行,那么我如何解决这个问题?是的,内容必须用双引号包装。谢谢。+1感谢\r这应该是公认的答案。谢谢你,今天就省省吧。你可能想试试PHP_EOL,因为新的行分隔符是特定于操作系统的。请注意双引号Test
Test2
PHP_EOL
在这种情况下是无用的,因为它将根据运行PHP脚本的操作系统(很可能是linux/unix服务器)给出一个EOL字符,但该文件可能会在Windows上打开,默认EOL将有所不同。