개발 Q&A

제목 'xxx..xls의 형식이 파일 확장명에서 지정한 형식과 다릅니다'라는 창이뜨네요
카테고리 PHP
글쓴이 정수리 작성시각 2017/04/11 14:05:05
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 19987   RSS

검색한 결과를 엑셀 파일로 다운 받을수 있도록 구현 하였습니다. 

구현을 할때 

phpexcel을 사용하지 않고 hearder와 html table을 사용하여 

excel파일을 만들고 다운 받도록 하였습니다. 

다운을 받고 실행을 하면 

 " 열려는 파일 xxx.xls의 형식이 파일 확장명에서 지정한 형식과 다릅니다. 파일을 열기전에 파일이 손상되지 않았는지, 원본을 신뢰할 수 있는지 확인하십시오. 지금 파일을 여시겠습니까? " 

라는 문구가 뜨네요;; 

phpexcel를 사용하여 구현할려고 하였지만 

현재 다른 기관들로 나가있는 서버의 php에 zip,gd,xml이 설치되어 있지 않기때문에 

모두 직접방문하여 설치하여야 하기 때문에 

구현한 방법으로 해결해보라고 하시네요 ㅜㅜ 상사분께서 

저와같은경험이 있으시거나 노하우가 있으신 

선배님들의 조언 부탁드리겠습니다.

 다음글 set autocommit 설정과 코드이그나이터 tra... (1)
 이전글 PDO::lastInsertId 테이블 잠금이 필요한가... (2)

댓글

변종원(웅파) / 2017/04/11 14:06:46 / 추천 0
다운로드 처리하실때 헤더는 어떻게 하셨어요?
정수리 / 2017/04/11 14:12:55 / 추천 0

@변종원

답변감사합니다.

<?php
$filename = '자금운용현황';
header("Content-type: application/vnd.ms-excel;" );
header("Content-Disposition: attachment; filename=".$filename.".xls");
?>

상단에는 이렇게 처리하였습니다.

변종원(웅파) / 2017/04/11 14:50:25 / 추천 0
검색을 좀 해봤는데 엑셀 자체의 보안기능이라 어찌할 방법이 없다고 하는 글들밖에 없네요. table형태파일을 엑셀이라고 속여서 다운 받는것이라서요. csv 형식으로 바꿔서 저장해보세요.
정수리 / 2017/04/11 15:30:51 / 추천 0

@변종원

답변감사합니다 

CSV형식으로 찾아보았는데 

데이터만 보여주면 CSV형태로 상관이 없겠는데

검색 결과를 다운받으면 엑셀에서는

                                        출력항목3                출력항목4
출력항목1 출력항목2    출력항목3-1 출력항목3-2  출력항목4-1 출력항복4-2
 데이터1    데이터2      데이터3-1      데이터3-3    데이터4-1    데이터4-2

이렇게 하나의 문서처럼 나오도록하여야 하는데

CSV에서는 문서 병합이 안된다고 하더라구요 ㅜㅜ

그래도 신경써주셔서 감사합니다.