php 출력 excel 표 디코딩 및 첫 번째 0이 표시되지 않는 해결 방법 (상세)
4774 단어 PHPExcel뒤죽박죽선도숫자 0이 표시되지 않습니다.
<?
if(count($data)>40000){
$filename_type='csv';
}else{
$filename_type='xls';
}
header("Content-Type: application/vnd.ms-excel");
Header("Accept-Ranges:bytes");
Header("Content-Disposition:attachment;filename=".$filename.".".$filename_type); //$filename
header("Pragma: no-cache");
header("Expires: 0");
if($filename_type=='xls'){
echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta http-equiv="expires" content="Mon, 06 Jan 1999 00:00:01 GMT"> <meta http-equiv=Content-Type content="text/html; charset=gb2312"> <!--[if gte mso 9]><xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name></x:Name> <x:WorksheetOptions> <x:DisplayGridlines/> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook> </xml><![endif]--> </head>';
}
뒤에
<table><tr><td></td></tr></table>
형식으로 데이터를 출력합니다.반나절을 조사한 끝에 마침내 약간의 유용한 자료를 찾았는데, 지금은 아래와 같이 베껴 쓴다.
"우선, excel이 웹 페이지에서 내보내는 원리를 알아보겠습니다. 이 데이터를 클라이언트에게 보낼 때, 클라이언트 프로그램 (브라우저) 을excel 형식으로 읽기 때문에mime 형식을 응용 프로그램/vnd로 설정합니다.ms-excel, excel이 파일을 읽을 때 모든cell의 형식으로 데이터를 보여줍니다. 만약cell에 규정된 형식이 없다면 excel은 기본 형식으로 이cell의 데이터를 보여줍니다.이렇게 하면 사용자 정의 데이터 형식의 공간을 제공할 수 있습니다. 물론 excel이 지원하는 형식을 사용해야 합니다.다음은 자주 사용하는 형식입니다.
1) :vnd.ms-excel.numberformat:@
2) :vnd.ms-excel.numberformat:yyyy/mm/dd
3) :vnd.ms-excel.numberformat:#,##0.00
4) :vnd.ms-excel.numberformat:¥#,##0.00
5) :vnd.ms-excel.numberformat: #0.00%
이러한 형식은 사용자 정의할 수 있습니다. 예를 들어 연월은 다음과 같이 정의할 수 있습니다. yy-mm 등등.그럼 이 형식들을 알게 됐는데 어떻게 이 형식들을 셀에 추가할 수 있을까요?간단합니다. 우리는 대응하는 탭 쌍 (즉 닫힌 탭) 에 스타일을 추가하기만 하면 됩니다.예를 들어
<td></td>
라벨 쌍<td></td>
에 스타일을 추가하면 다음과 같다. <td style="vnd.ms-excel.numberformat:@">410522198402161833</td>
마찬가지로 우리도 <div></div>
에 스타일을 추가할 수 있고 <tr>< /tr>
, <table></table>
에 스타일을 추가할 수 있다.부모 탭 쌍과 하위 탭 쌍에 스타일을 추가할 때 데이터는 어떤 스타일로 나타날까요?테스트를 거쳐 데이터와 가장 가까운 스타일로 나타날 것이다.그래서 그가 말한 방법에 따라 데이터를 내보낼 때 대응하는 신분증 열의 양식을 설정했다.
echo "<td style='vnd.ms-excel.numberformat:@'>".$printable."</td>
";
과연 성공했구나, 한참 동안 조사한 자료가 헛되지 않았구나.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.