테스트 사이트 - 개발 중인 베타 버전입니다

php 버전이 5.3.3 인 경우 엑셀 다운로드를 어떻게 해야하나요? 채택완료

그누보드5 버전을 사용 중입니다. 

post 로 값을 잘 전달하고 쿼리문에 따라서 결과 값도 잘 가져오는 걸 확인했는데

엑셀 다운로드 할 때 다 깨지고 html 코드를 데이터로 저장해서 다운로드를 하네요 .. 

혹시 관련 자료가 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

원인은 다양 할 수 있으므로 다음을 참고하셔서 점검을 해보시는건 어떨까 합니다.

 

헤더 설정: 엑셀 파일을 정상적으로 다운로드하려면 적절한 헤더를 설정해야 하므로, Content-Type 및 Content-Disposition 헤더를 확인해 보세요

</p>

<p>header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header('Content-Disposition: attachment; filename=파일명.xlsx');

 

엑셀 파일 형식: 엑셀 파일을 올바른 형식으로 생성하는지 확인. PHPExcel이나 PhpSpreadsheet 등과 같은 라이브러리를 사용하는 경우, 올바른 메서드를 사용하여 엑셀 파일을 생성해야 함.

 

데이터 인코딩: 데이터를 엑셀로 다운로드할 때 문자 인코딩에 주의해야 함. UTF-8을 사용하면 대부분의 언어를 지원할 수 있음.

 

파일 확장자: Content-Disposition 헤더에서 지정한 파일 확장자와 실제 파일 형식이 일치하는지 확인.

 

데이터 정제: 다운로드되는 데이터에 HTML 태그가 포함되어 있으면 해당 데이터를 정제하여 순수한 텍스트 데이터로 변환.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

알려주셔서 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

5.3에서도 방식에 따라서 엑셀 저장이 가능할텐데 어떤코드를 쓰시는건가요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

안녕하세요.

다양한 원인이 있을수 있겠지만 먼저 인코딩 타입을 다시 확인하시고 헤더의 내용도 한번 확인을 해보세요~

 

</p>

<p>header("Content-Disposition: attachment; filename=\"$filename\"");

header("Content-Type: application/vnd.ms-excel");

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록