Проблема с контрольными символами - PHP не печатает \ t (символ табуляции) - PullRequest
1 голос
/ 25 сентября 2011

Я отправляю файл XLS с заголовком. Все работает нормально. Но когда я говорю ему распечатать вкладку для разделения ячеек в XLS, напечатайте \t. Он не печатает вкладку. Он просто печатает '\ 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;

Я пытался использовать одинарные или двойные квесты. и распечатай и эхо купи еще: (

Ответы [ 4 ]

2 голосов
/ 26 сентября 2011

Попробуйте это (см. Цитаты)

header('Content-type: application/vnd.ms-excel');
echo "val1\tval2\tval3";
1 голос
/ 26 сентября 2011

Используйте двойные кавычки: "\ t". В одинарных кавычках распознаются только \\ и \'.

1 голос
/ 26 сентября 2011

Я вполне уверен, что кавычки являются причиной проблемы.

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

должно сработать.Просто посмотрите на это:

<?php

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

, который выводит:

Test\tTest
Test    Test

Используйте двойные кавычки, когда вам нужны контрольные символы.Надеюсь, это может решить вашу проблему.

0 голосов
/ 26 сентября 2011

Это должно работать:

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

Если это не так, это ошибка в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...