2011-09-25 5 views
1

헤더가있는 XLS 파일을 보내고 있습니다. 모든 것이 잘 작동합니다. 하지만 인쇄 할 때 XLS의 셀을 구분하기 위해 탭을 인쇄하려면 \t라고 말하십시오. 탭을 인쇄하지 않습니다. 그것은 단지 파일에 '\의 t'를 인쇄하고 난 다른 세포에 있어야 XLS 파일 모두를 다운로드 할 때와 같은 텍스트가 하나 개의 셀에있는 모든 수 있습니다 :제어 문자 문제 - PHP가 t (탭 문자)를 인쇄하지 않습니다

val1\tval2\tval3\t 

이 세 값들이 별도의 분리되어야 세포. .

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; 

같은 값을 인쇄 : 난 지금 아무것도 :(작동하지 않습니다 2 시간 동안 노력 해왔다

이 같은 헤더를 보내 또는 두 번 인쇄하고 인쇄하고 에코를 구매합니다. (

+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 

사용 따옴표는 문자를 제어해야 할 때. 이 방법으로 문제를 해결할 수 있기를 바랍니다. "\의 t"

1

사용 따옴표 (따옴표 참조)보십시오. 작은 따옴표 안에 \\\' 만 인식됩니다.

0

이 작동합니다 : 그렇지 않은 경우

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

, 그것은 PHP의 버그입니다.

관련 문제