相关疑难解决方法(0)

为Excel生成CSV文件,如何在值中包含换行符

我需要为Excel生成一个文件,该文件中的一些值包含多行.

那里还有非英文文本,所以文件必须是Unicode.

我现在生成的文件如下所示:(在UTF8中,非英文文本混合在一起并且有很多行)

Header1,Header2,Header3
Value1,Value2,"Value3 Line1
Value3 Line2"
Run Code Online (Sandbox Code Playgroud)

请注意,多行值用双引号括起来,其中包含正常的日常换行符.

根据我在网上发现的这应该有效,但它没有,至少没有赢得Excel 2007和UTF8文件,Excel将第3行视为第二行数据而不是第一行数据的第二行.

这必须在我客户的机器上运行,我无法控制他们的Excel版本,所以我需要一个适用于Excel 2000及更高版本的解决方案.

谢谢

编辑:我通过两个CSV选项"解决"了我的问题,一个用于Excel(Unicode,制表符分隔,字段中没有换行符),另一个用于世界其他地方(UTF8,标准CSV).

不是我想要的,但至少它是有效的(到目前为止)

csv excel newline

146
推荐指数
6
解决办法
32万
查看次数

如何使用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>";
Run Code Online (Sandbox Code Playgroud)

我试过了:

<td>Line 1\r\nLine 2</td>
<td>Line 1".chr(10) . chr(13)."Line 2</td>
Run Code Online (Sandbox Code Playgroud)

但似乎没有任何效果,我需要在单元格中进行换行,欢迎提出任何建议.我正在使用excel 2010.

我已经看过这个问题:Excel 2003数据中的换行符并没有用.

它没有显示错误,当我应用<br>它时会创建一个新行,当我使用时\r\n, \n, or chr(10) . chr(13),它会创建一个空格.

谢谢!!

php excel

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

excel ×2

csv ×1

newline ×1

php ×1