php 버전이 5.3.3 인 경우 엑셀 다운로드를 어떻게 해야하나요?
본문
그누보드5 버전을 사용 중입니다.
post 로 값을 잘 전달하고 쿼리문에 따라서 결과 값도 잘 가져오는 걸 확인했는데
엑셀 다운로드 할 때 다 깨지고 html 코드를 데이터로 저장해서 다운로드를 하네요 ..
혹시 관련 자료가 있을까요?
답변 3
원인은 다양 할 수 있으므로 다음을 참고하셔서 점검을 해보시는건 어떨까 합니다.
헤더 설정:
엑셀 파일을 정상적으로 다운로드하려면 적절한 헤더를 설정해야 하므로, Content-Type 및 Content-Disposition 헤더를 확인해 보세요
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment; filename=파일명.xlsx');
엑셀 파일 형식:
엑셀 파일을 올바른 형식으로 생성하는지 확인. PHPExcel이나 PhpSpreadsheet 등과 같은 라이브러리를 사용하는 경우, 올바른 메서드를 사용하여 엑셀 파일을 생성해야 함.
데이터 인코딩:
데이터를 엑셀로 다운로드할 때 문자 인코딩에 주의해야 함. UTF-8을 사용하면 대부분의 언어를 지원할 수 있음.
파일 확장자:
Content-Disposition 헤더에서 지정한 파일 확장자와 실제 파일 형식이 일치하는지 확인.
데이터 정제:
다운로드되는 데이터에 HTML 태그가 포함되어 있으면 해당 데이터를 정제하여 순수한 텍스트 데이터로 변환.
안녕하세요.
다양한 원인이 있을수 있겠지만 먼저 인코딩 타입을 다시 확인하시고 헤더의 내용도 한번 확인을 해보세요~
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
5.3에서도 방식에 따라서 엑셀 저장이 가능할텐데 어떤코드를 쓰시는건가요?
답변을 작성하시기 전에 로그인 해주세요.