控制字符问题 - PHP不打印\ t(制表符)

时间:2011-09-25 19:54:26

标签: php excel

我正在发送带有标题的XLS文件。一切都很好。但是,当我告诉它打印选项卡以通过打印\t分隔XLS中的单元格时。它不打印选项卡。它只打印文件中的'\ t',当我下载XLS文件时,应该在不同单元格中的所有内容都在一个单元格中,文本如下:

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;

我尝试过使用单个或双个quts。打印和回声都买静:(

4 个答案:

答案 0 :(得分:2)

试试这个(见引号)

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

答案 1 :(得分:1)

我很确定引号会导致问题。

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

应该做的事情。看看这个:

<?php

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

输出:

Test\tTest
Test    Test

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

答案 2 :(得分:1)

使用双引号:“\ t”。在单引号内,只能识别\\\'

答案 3 :(得分:0)

这应该有效:

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

如果没有,那就是PHP中的错误。