Excel 2003中的数据换行符

时间:2011-10-14 09:28:54

标签: php excel

使用PHP从SQL中提取数据,然后在服务器上创建.csv文件,以便通过fputcsv进行电子邮件发送/下载。除了尝试在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问题 - 多亏了所有的共鸣。

2 个答案:

答案 0 :(得分:6)

这更像是一个excel而不是一个php问题。 excel需要理解你放入csv文件的内容,这就是\ r \ n无效的原因。

使用此

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

然后将$lfcr追加到每一行的末尾。

答案 1 :(得分:1)

对于csv文件中字段中的换行符,您只需用双引号括起该字段,并在前面的示例中添加=。换行符本身可以是\r\n,也可以是\n

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