2011-09-25 71 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的錯誤。