您好我已经使用了以下代码:
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>
但似乎没有任何效果,我需要在单元格中进行换行,欢迎任何建议。我正在使用excel 2010。
我已经看过这个问题:line break within data for Excel 2003但它没有用。
它没有显示错误,当我应用<br>
它创建一个新行时,当我使用\r\n, \n, or chr(10) . chr(13)
时,它会创建一个空格。
谢谢!
答案 0 :(得分:7)
经过大量搜索后发现这个网站: http://www.bennadel.com/blog/1095-maintaining-line-breaks-in-an-html-excel-file.htm
此标记解决了问题<br style="mso-data-placement:same-cell;" />
感谢您的所有评论!!
答案 1 :(得分:0)
使用PHP_EOL拍摄它应该会为您提供正在使用的操作系统的换行符。
示例:
$output = 'Line 1' . PHP_EOL .
'Line 2' . PHP_EOL .
'Line 3';
答案 2 :(得分:0)
你说 charset =“utf-8”但是 chr 会返回ASCII!
这个怎么样? ;业务
utf8_encode(chr(10).chr(13))
答案 3 :(得分:0)
您应该添加双引号以包含换行符
'<td>Line 1' . "\r\n" . 'Line 2</td>'