欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP excl导出类

程序员文章站 2024-03-20 22:14:46
...
PHP excl导出类
/**
 * 设置编码
 * @param $incode
 * @param $outcode
 */

public function setEncode($incode,$outcode){
    $this->inEncode=$incode;//页面编码
    $this->outEncode=$outcode;//Excel文件的编码
}

/**
 * 设置Excel的标题栏
 * @param $titlearr
 * @return string
 */
public function setTitle($titlearr){
    $title="";
    foreach($titlearr as $v){
        if($this->inEncode!=$this->outEncode){
            $title.=iconv($this->inEncode,$this->outEncode,$v)."\t";
        }else{
            $title.=$v."\t";
        }
    }
    $title.="\n";
    return $title;
}

/**
 * 设置Excel内容
 * @param $array
 * @return string
 */
public function setRow($array){
    $content="";
    foreach($array as $k => $v){
        foreach($v as $vs){
            if($this->inEncode!=$this->outEncode){
                $content.=iconv($this->inEncode,$this->outEncode,$vs)."\t";
            }else{
                $content.=$vs."\t";
            }
        }
        $content.="\n";
    }
    return $content;
}
/**
 * 生成并自动下载Excel
 * $titlearr 标题栏数组
 * $array 内容数组
 * $filename 文件名称 (为空,已当前日期为名称)
 */
public function getExcel($titlearr,$array,$filename=''){
    if($filename==''){
        $filename=date("Y-m-d");
    }
    $title=$this->setTitle($titlearr);
    $content=$this->setRow($array);
    header("Content-type:application/vnd.ms-excel");
    header("Content-Disposition:attachment;filename=".$filename.".xls");
    echo $title;
    echo $content;
}