>  기사  >  백엔드 개발  >  추측: PHP를 사용하여 데이터를 Excel 테이블로 내보내는 방법(그림 및 텍스트 설명)

추측: PHP를 사용하여 데이터를 Excel 테이블로 내보내는 방법(그림 및 텍스트 설명)

炎欲天舞
炎欲天舞원래의
2017-08-03 16:57:102552검색

1. 소개

  가장 간단하고 거칠고 폭력적인 방법을 사용하여 Excel 파일에 데이터를 쓰는 방법은 무엇입니까?

 MS Word와 Excel 문서 모두 html 텍스트 형식을 지원하므로 이 원칙에 따라 html 텍스트 형식을 사용하여 데이터를 출력할 수 있습니다.

 HTML에서는 해당 HTML 테이블에 원하는 순서대로 데이터를 넣기만 하면 됩니다.

우리는 PHP를 사용하여 데이터를 얻고 구성하며 해당 HTML 텍스트를 구성하고 최종적으로 바이트 스트림 출력을 통해 사용자의 로컬 영역에 다운로드합니다.

2. Code

코드로 바로 이동해 보세요. 주석이 포함된 매우 간단한 프로그램입니다.

exportexcel.class.php 파일


<?php
class ExportExcel{
    /**
    * @desc   将数据导出到Excel中
    * @param  $data array 设置表格数据 
    * @param  $titlename string 设置head 
    * @param  $title string 设置表头 
    * @param  $filename 设置默认文件名
    * @return 将字符串输出,即输出字节流,下载Excel文件
    */ 
    public function excelData($data,$titlename,$title,$filename){ 
        #xmlns即是xml的命名空间
        $str = "<html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\nxmlns=\"http://www.w3.org/TR/REC-html40\">\r\n<head>\r\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>"; 
        #以下构建一个html类型格式的表格
        $str .= $title; 
        $str .="<table border=1><head>".$titlename."</head>"; 
        foreach ($data  as $key=> $rt ) 
        { 
            $str .= "<tr>"; 
            foreach ( $rt as $k => $v ) 
            { 
                $str .= "<td>{$v}</td>"; 
            } 
            $str .= "</tr>\n"; 
        } 
        $str .= "</table></body></html>"; 
        header( "Content-Type: application/vnd.ms-excel; name=&#39;excel&#39;" );   #类型
        header( "Content-type: application/octet-stream" );     #告诉浏览器响应的对象的类型(字节流、浏览器默认使用下载方式处理)
        header( "Content-Disposition: attachment; filename=".$filename );   #不打开此文件,刺激浏览器弹出下载窗口、下载文件默认命名
        header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); 
        header( "Pragma: no-cache" );   #保证不被缓存或者说保证获取的是最新的数据
        header( "Expires: 0" ); 
        exit( $str ); 
    }


}


?>


<?php
$obj=new ExportExcel();

$data = array(
    array(&#39;a11&#39;,&#39;a22&#39;,&#39;a33&#39;),
    array(&#39;b11&#39;,&#39;b22&#39;,&#39;b33&#39;),
    array(&#39;c11&#39;,&#39;c22&#39;,&#39;c33&#39;),
    array(&#39;d11&#39;,&#39;d22&#39;,&#39;d33&#39;),
    array(&#39;e11&#39;,&#39;e22&#39;,&#39;e33&#39;),
    array(&#39;f11&#39;,&#39;f22&#39;,&#39;f33&#39;),
    );      
$excelHead = "这个是Excel表格标题"; 
$title = "我的Excel表";   #文件命名
$headtitle= "<tr><th  colspan=&#39;3&#39; >{$excelHead}</th></tr>"; 
$titlename = "<tr> 
               <th style=&#39;width:70px;&#39;>表格1</th> 
               <th style=&#39;width:70px;&#39;>表格2</th> 
               <th style=&#39;width:70px;&#39;>表格3</th> 
            </tr>"; 
$filename = $title.".xls"; 
$obj->excelData($data,$titlename,$headtitle,$filename); 


?>

3. 파일 형식이 접미사 이름과 일치하지 않는다는 메시지가 표시됩니다. 이는 또한 우리가 내보낸 Excel 파일이 외관상 Excel처럼 보일 뿐(실제로는 html 파일임) 형식이 Excel 파일이 아님을 간접적으로 보여줍니다.

클릭하시면 안에 있는 내용을 보실 수 있어요. 엑셀처럼 보이네요 ㅎㅎ. 그냥 Jiangzi

접미사를 html로 변경하고 입력하여 보기:

보세요. 실제로는 html 파일이지만 Excel에서는 이 형식을 지원합니다.

4. 참고

"PHP로 엑셀 내보내기"

(위 내용은 제 주관적인 의견이니 부족한 점이나 오류가 있으면 지적해주세요)

위 내용은 추측: PHP를 사용하여 데이터를 Excel 테이블로 내보내는 방법(그림 및 텍스트 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.