PHPExcel은 xls 잘못된 문자를 내보냅니다.
ringa_lee
ringa_lee 2017-05-16 13:03:35
0
2
778

PHPExcel의 저장 메소드를 사용하는 경우

// xls 파일로 저장합니다. 단, 서버에만 저장되므로 로컬에서 수동으로 다운로드해야 합니다.
$writer->save('제품 목록.xls');

직접 다운로드:

 if ($this->fileVersion == 'Excel5') {
            header('Content-Type: application/vnd.ms-excel'); // xls 형식으로 파일 출력
            header('Content-Disposition: attachment;filename="' . $config['fileName'] . '.xls"') //브라우저에게 출력 파일의 이름을 알려줍니다.
        } 또 다른 {
            header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') // xlsx 형식의 출력 파일
            header('Content-Disposition: attachment;filename="' . $config['fileName'] . '.xlsx"') //브라우저에게 출력 파일의 이름을 알려줍니다.
        }

        // IE 9에 서비스를 제공하는 경우 다음이 필요할 수 있습니다.
        header('캐시 제어: max-age=1');

        // SSL을 통해 IE에 서비스를 제공하는 경우 다음이 필요할 수 있습니다.
        header('Expires: Mon, 26 July 1997 05:00:00 GMT') // 과거의 날짜
        header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT') // 항상 수정됨
        header('Cache-Control: 캐시, 재검증 필수') // HTTP/1.1
        header('프라그마: 공개'); // HTTP/1.0

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

내보낸 xls 파일은 php://output을 통해 직접 다운로드할 수 있으며, xls 파일은 서버에 생성되지 않습니다.
단, 다운로드 시 브라우저에서 직접 오류가 보고됩니다. 개발자 도구가 네트워크에 나타났으나 파일 다운로드 작업을 실행하지 않았습니다.

< /p>

이 왜곡된 코드가 헤더 바로 앞에 있는 경우 print_r($writer);$writer 깨짐

이 질문에 대해 매우 혼란스럽습니다

ringa_lee
ringa_lee

ringa_lee

모든 응답(2)
習慣沉默

이 방법을 사용하면 내보낸 파일을 직접 다운로드할 수 있지만 Ajax를 사용할 수는 없습니다.

Ty80

header('Content-Type: application/vnd.ms-excel');改为header('Content-Type: application/vnd.ms-excel; charset=UTF-8');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');改为header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8');

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿