2015-01-03 4 views
2

내가 MarkBaker (SO)phpexcel 파일 다운로드 문제

내가 볼 필요가있는 점에 의해 지어진 codeplex 최신에서 PHPExcel_1.8.0_doc을 다운로드 한 phpexcel의 05featuredemo.php 예를 사용하고있다

$objWriter->save(str_replace('.php', '.xls', __FILE__)); 

위 스크립트 위치에 파일을 저장하는 데 사용되지만, 어떻게하면 간단하게 다운로드 할 수 있습니다.

나는

$objWriter->save('php://output'); 

과 노력하지만 그것은 생성되는 파일을 다운로드하지 않았다. 나는 그것을 어떻게 할 수 있는가, 내가해야 할 다른 것이 있는가?

+0

파일을 정상적으로 저장 했습니까? 'php : // output'을 시도했을 때, 무슨 일이 일어 났습니까? 브라우저에서 아무 것도 보지 않으셨습니까? 오류가 있었습니까? – GolezTrol

+0

'php : // output'을 시도해 본 결과 아무 일도 없었습니다. 그리고 지금 나는 머리글로 노력하고 있습니다. 감사합니다. –

답변

4

스트레이트 HTML 이외의 것을 브라우저에 보내려면 브라우저가이를 처리하는 방법을 알 수 있도록 적절한 헤더를 보내야합니다.

이이 설명 Redirect output to a client’s web browser를 제목의 개발자 문서의 한 부분이고, 당신은 당신이 내가 $a에 지정된대로 지정할 수 있습니다 직접 이름을 부여 할 경우도 01simple-download-xls.php

+0

감사합니다. 나는 헤더와 함께 보내려고합니다. –

+0

나는 ** 01simple-download-xls.php에 언급 된 ** 클라이언트의 웹 브라우저 (Excel5)로 출력을 리디렉션했습니다 ** * * 그러나 다운로드 한 파일은 ** 새로운 PHPExcel 객체 **를 만들고 안에 읽을 수없는 텍스트를 묻습니다 :(여기 내 코드는 http://paste.ofcode.org/tuPYZRyc8zbSBhrjCCZWkz –

+0

입니다. '05featuredemo.inc.php' 파일을 보면 화면에 정보를 다양한 지점에서 에코하는 것을 볼 수 있습니다. .... 내가 에코되는 정보에 대해 언급 한 문서 섹션의주의 사항을 읽은 다음 .... 에코 문을 모두 주석 처리합니다. '05featuredemo.inc.php' 그리고 다시 시도하십시오 –

0

01simple-download-xlsx.php 같은 예에서 입증 것 .

이 함수가 호출되는 위치에서 파일 이름을 사용하여 해당 이름을 Excel 파일 이름에 연결하고 파일 이름에 현재 날짜를 첨부했습니다.

참고 : LogReport은 내 파일을 다운로드 할 폴더입니다.

self::$objPHPExcel = new PHPExcel(); 
$objWriter = PHPExcel_IOFactory::createWriter(self::$objPHPExcel, 'Excel2007'); 
     $a = 'Log' . self::$filename . date("Y-m-d") . '.xlsx'; 
     $objWriter->save(__DIR__ . '/LogReport/' . $a);