我如何使用PHP在excel的单元格中进行换行?

您好我有以下代码:

header('Content-type: application/vnd.ms-excel'); header("Content-Disposition: attachment; filename=archivo.xls"); header("Pragma: no-cache"); header("Expires: 0"); echo " <html> <head> <meta charset="utf-8"> <meta http-equiv="expires" content="0"> </head> <body> <table width="100%" border="1" align="center" cellpadding="3" cellspacing="0"> <tr> <td>Line 1<br>Line 2</td> </tr> </table> </body> </html>"; 

我努力了:

 <td>Line 1\r\nLine 2</td> <td>Line 1".chr(10) . chr(13)."Line 2</td> 

但似乎没有任何工作,我需要在一个单元格中进行换行,欢迎任何build议。 我正在使用Excel 2010。

我已经看到了这个问题: 在Excel 2003的数据内换行符 ,并没有奏效。

它不会显示错误,当我使用\r\n, \n, or chr(10) . chr(13)<br>它会创build一个新行\r\n, \n, or chr(10) . chr(13) \r\n, \n, or chr(10) . chr(13) ,它创造了一个空间。

谢谢!!

search了很多后发现这个网站: http : //www.bennadel.com/blog/1095-maintaining-line-breaks-in-an-html-excel-file.htm

这个标签解决了这个问题<br style="mso-data-placement:same-cell;" /> <br style="mso-data-placement:same-cell;" />

谢谢你们的评论!!

有一个PHP_EOL镜头,它应该给你你正在操作系统的换行符。

例:

 $output = 'Line 1' . PHP_EOL . 'Line 2' . PHP_EOL . 'Line 3'; 

你说charset =“utf-8”但是chr返回ASCII!

那这个呢? ;业务

 utf8_encode(chr(10).chr(13)) 

您应该添加双引号以包含换行符

 '<td>Line 1' . "\r\n" . 'Line 2</td>'