2011-09-25 32 views
1

我送与头的XLS文件。一切工作正常。但是,当我告诉它打印的标签以印刷\t在XLS分离细胞。它不打印选项卡。它只是打印“\ t”的文件中,当我下载,应在不同的细胞XLS文件的一切都在一个单元格中包含文本:问题与控制字符 - PHP不打印 t(制表符)

val1\tval2\tval3\t 

这三个值应该在它们各自独立细胞。 。 我一直在尝试2小时,现在没有什么工作:(

我发送标题是这样的:

header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=".$filename.$fileextention); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

,只是打印喜欢

echo $val1 . '\t' . $val2 . '\t' . $val3; 

i的值都使用单一的尝试或双击。和打印和回声都买仍然:(:()

+0

显示您正在使用生成的XLS文件中的代码 –

+1

请出示的代码示例。你使用单引号还是双引号? – Eliasdx

回答

2

试试这个(见引号)

header('Content-type: application/vnd.ms-excel'); 
echo "val1\tval2\tval3"; 
+0

非常感谢 – user963631

1

我很确定引号引起这个问题。

echo $val1 . "\t" . $val2 . "\t" . $val3; 

应该做的事。只要看看这个:

<?php 

echo 'Test\tTest'; 
echo "\r\n"; 
echo "Test\tTest"; 
echo "\r\n"; 

,输出:当你需要

Test\tTest 
Test Test 

使用双引号字符的控制。 希望这可以解决你的问题。

1

使用双引号: “\ t” 的。在单引号仅\\\'是公认的。

0

这应该工作:

echo $val1 . "\t" . $val2 . "\t" . $val3; 

如果没有,它是在PHP的错误。