thinkphp整合phpexcel实现数据导出
作者:巩文   发布时间:2014年05月28日  热度:1984℃   评论: 我要评论

第一步:

    下载phpexcel

步:

    将下载的文件夹放到thinkphp中的\Extend\Vendor下面命名为PHPExcel。确认PHPExcel下有一个PHPExcel.php文件

第三步:

    自定义导出excel函数

在项目的 Common\common.php文件里定义exportExcel函数。代码如下:
/**
     * 用于生成excel文件的函数
     * author:walker
     * @param $data 生成excel的数据(二维数组形式)
     * @param null $savefile 生成excel的文件名(保不指定,则为当前时间戳)
     * @param null $title 生成excel的表头(一维数组形式)
     * @param string $sheetname 生成excel的sheet名称(缺省为sheet1)
     */
    function exportExcel($data,$savefile=null,$title=null,$sheetname='sheet1'){
        //若没有指定文件名则为当前时间戳
        if(is_null($savefile)){
            $savefile=time();
        }
        //若指字了excel表头,则把表单追加到正文内容前面去
        if(is_array($title)){
            array_unshift($data,$title);
        }
        Vendor('PHPExcel.PHPExcel');
        Vendor('PHPExcel.PHPExcel.IOFactory');
        Vendor('PHPExcel.PHPExcel.Reader.Excel5');
        $objPHPExcel = new PHPExcel();
        //Excel内容
        foreach($data as $k => $v){
            $obj=$objPHPExcel->setActiveSheetIndex(0);
            $row=$k+1;//行
            $nn=0;
            foreach($v as $vv){
                $col=chr(65+$nn);//列
                $obj->setCellValue($col.$row,$vv);//列,行,值
                $nn++;
            }
        }
        $objPHPExcel->getActiveSheet()->setTitle($sheetname);
        $objPHPExcel->setActiveSheetIndex(0);
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="'.$savefile.'.xls"');
        header('Cache-Control: max-age=0');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;

    }

第四步


     测试

        //在此用$list模拟要导出的数据源(一般是从数据库中读取)

        $list=array(
            array('uid'=>1,'email'=>2,'password'=>3),
            array('uid'=>'a','email'=>'b','password'=>'c'),
            array('uid'=>'甲','email'=>'乙','password'=>'丙'),
        );

        //设置要导出excel的表头
        $title=array('标题一','标题二','标题三');

        //进行导出
        exportExcel($list,'一个新文件',$title);


评论 ( 0条 )
昵称: 必填     邮箱: 选填,承诺不会泄漏您的邮箱!
小兔表情
QQ表情
评论
PHP
超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言风格有类似于C语言,被广泛的运用。