2014-12-17 2 views
2

ajax를 사용하여 Excel 파일에 쓰려는 데이터를 전달하는 PHP 파일을 호출합니다. Excel 파일을 서버에 저장하고 싶지는 않지만 $ objWriter-> save ('php : // output'); (PHPExcel의 일부) 브라우저에서 엽니 다.ajax 호출을 사용하여 PHPExcel Excel 파일 열기

내 웹 응용 프로그램 외부의 브라우저에 ajax 스크립트 호출을 복사하면 브라우저가 파일을 만들고 브라우저가 사용자에게 열기/저장 옵션을 제공합니다.

하지만 웹 응용 프로그램에서 ajax 호출을 통해 실행할 때 아무 것도 표시되지 않습니다.

나는 사람들이 비슷한 문제를 가지고있는 많은 게시물을 보았지만, 나는 그들이하려고하는 것과 실제로 일치하지 않는다. 대부분은 실제로 서버에 파일을 만든 다음 그 결과로 파일 이름을 ajax 호출로 반환 한 다음 해당 파일을 여는 것으로 보입니다. 서버에 파일을 만들지 않으므로 저를 위해 작동하지 않습니다.

ajax, php 및 PHPExcel을 사용하여이를 수행 할 수있는 방법이 있습니까? $ objWriter-> save ('php : // output') 문을 사용하여 파일을 여는 방법이 있습니까?

+0

사용중인 관련 코드를 게시하면 도움이 될 것입니다. –

+0

Ajax를 통해이 작업을 수행하려면 Ajax 호출이 스트림 된 바이너리 응답을 처리해야합니다. –

+0

링크를 사용하면 먼저 서버에 파일을 저장 한 다음 사람이 링크를 클릭하여 파일을 가져 오도록해야합니다. (그렇지 않은 한 링크를 사용하는 것이 훨씬 쉽습니다. 무슨 뜻인지 오해)? 여러 사람이이 응용 프로그램을 사용하고 Excel 파일 중 상당수를 만들 수 있기 때문에 실제로 서버에 파일을 만들려하지 않았습니다. 그렇지 않으면 파일을 정리하는 루틴 제거 작업을해야했습니다. – user3861284

답변

0

나는 ajax 호출을 사용하여 스크립트를 호출하는 대신, window.open을 수행하고 입력으로 ajax 호출에 사용했던 스크립트 호출을 사용했다. 그래서 그것이하는 일은 일시적으로 창을 열고 PHP 스크립트 (모든 매개 변수 전달)를 호출하는 창입니다. Excel 파일이 작성되면 창이 닫히지 만 브라우저 파일이 사용자에게 표시됩니다. 따라서 일시적으로 깜박이는 창을 제외하면 최종 결과는 원래 원하는 것입니다.

관련 문제