php导出数据到excel表

addHeader(array('列1','列2','列3','列4'));
  $excel->addBody(
            array(
                array('数据1','数据2','数据3','数据4'),
                array('数据1','数据2','数据3','数据4'),
                array('数据1','数据2','数据3','数据4'),
                array('数据1','数据2','数据3','数据4')
            )
        );
 $excel->downLoad();
 
class Excel{
    private $head;
    private $body;
     
    /**
     * 
     * @param type $arr 一维数组
     */
    public function addHeader($arr){
        foreach($arr as $headVal){
            $headVal = $this->charset($headVal);
            $this->head .= "{$headVal}\t ";
        }
        $this->head .= "\n";
    }
     
    /**
     * 
     * @param type $arr 二维数组
     */
    public function addBody($arr){
        foreach($arr as $arrBody){
            foreach($arrBody as $bodyVal){
                $bodyVal = $this->charset($bodyVal);
                // 过滤特殊字符
                $bodyVal = str_replace(array('\\n','\\t','
','
', '
','
'), "", $bodyVal); $bodyVal = str_replace(array("rn", "r", "n"), "", $bodyVal); $bodyVal =preg_replace("{\t}","",$bodyVal); $bodyVal=preg_replace("{\r\n}","",$bodyVal); $bodyVal=preg_replace("{\r}","",$bodyVal); $bodyVal=preg_replace("{\n}","",$bodyVal); $bodyVal = str_replace(",", " ",$bodyVal); $this->body .= "{$bodyVal}\t "; } $this->body .= "\n"; } } /** * 下载excel文件 */ public function downLoad($filename=''){ if(!$filename) $filename = date('YmdHis',time()).'.xls'; header("Content-type:application/vnd.ms-excel"); //application/vnd.ms-excel这个是下载excel表的类型 //还有其他文件类型,在末尾介绍 header("Content-Disposition:attachment;filename=$filename");//content-disposition 本来是为了在客户端另存文件时提供的文件名, // attachment ——作为附件下载 // inline ——在线打开 header("Content-Type:charset=gb2312"); if($this->head) echo $this->head; echo $this->body; } /** * 编码转换 * @param type $string * @return string */ public function charset($string){ return iconv("utf-8", "gb2312", $string); } } ?>

上面介绍了下载excel表的类型需要使用到application/vnd.ms-excel
这里还介绍了其他文件类型下载需要使用的类型:

$fileType = array(
    'doc'        => 'application/msword',
    'bin'        => 'application/octet-stream',
    'exe'        => 'application/octet-stream',
    'so'        => 'application/octet-stream',
    'dll'        => 'application/octet-stream',
    'pdf'        => 'application/pdf',
    'ai'        => 'application/postscript',
    'xls'        => 'application/vnd.ms-excel',
    'ppt'        => 'application/vnd.ms-powerpoint',
    'dir'        => 'application/x-director',
    'js'        => 'application/x-javascript',
    'swf'        => 'application/x-shockwave-flash',
    'xhtml'        => 'application/xhtml+xml',
    'xht'        => 'application/xhtml+xml',
    'zip'        => 'application/zip',
    'mid'        => 'audio/midi',
    'midi'        => 'audio/midi',
    'mp3'        => 'audio/mpeg',
    'rm'        => 'audio/x-pn-realaudio',
    'rpm'        => 'audio/x-pn-realaudio-plugin',
    'wav'        => 'audio/x-wav',
    'bmp'        => 'image/bmp',
    'gif'        => 'image/gif',
    'jpeg'        => 'image/jpeg',
    'jpg'        => 'image/jpeg',
    'png'        => 'image/png',
    'css'        => 'text/css',
    'html'        => 'text/html',
    'htm'        => 'text/html',
    'txt'        => 'text/plain',
    'xsl'        => 'text/xml',
    'xml'        => 'text/xml',
    'mpeg'        => 'video/mpeg',
    'mpg'        => 'video/mpeg',
    'avi'        => 'video/x-msvideo',
    'movie'        => 'video/x-sgi-movie',  
);

你可能感兴趣的:(php导出数据到excel表)