Excel 2003中的数据换行

21 浏览
0 Comments

Excel 2003中的数据换行

使用PHP从SQL中提取数据,然后通过fputcsv创建一个csv文件在服务器上进行电子邮件/下载。除了试图在Excel(2003)中在字段中获取新行之外,所有都运作良好。我得到了Product1Product2Product3在单元格中,但我需要

Product1
Product2
Product3

。我尝试了单引号,双引号,CR,LF等,但我正在飞速地消失在自己的后面。因此,问题是 - 我需要在CSV文件中获取什么字符才能实现这一点?它必须在Excel中工作。

[解决方案] - 问题在于通过PHP fputcsv将\\r\\n传递给Excel - 我无法以任何方式实现这一点(例如将所需的\\r\\n附加到我的实际单元格数据中,例如Product1\\r\\n)。建议使用$lfcr = chr(10).chr(13);,第一次就奏效了。我想这更像是PHP而不是Excel的问题 - 感谢所有的回应。

admin 更改状态以发布 2023年5月20日
0
0 Comments

如果在csv文件中的一个字段中需要换行,你只需要用双引号包围字段,并在前面添加一个=,如下例所示。换行本身可以是\r\n或只是\n

id;product;price
1;iMac;2.99
2;="product
with
linebreaks";1.99
3;Bananaphone;999.99

0
0 Comments

这更像是一个Excel而不是PHP的问题。你放入CSV文件中的内容需要被Excel理解,这就是为什么\r\n不起作用的原因。

使用这个

$lfcr = chr(10) . chr(13);

然后在每行末尾添加$lfcr

0