美文网首页
菜鸟之TP5引入Phpexcel

菜鸟之TP5引入Phpexcel

作者: 前端1号站 | 来源:发表于2017-11-15 13:15 被阅读0次

    从昨天中午一直在研究如何在Tp5中引入Phpexcel,在网上搜索了很多资料,发现目前引入Phpexcel总的来说是两种

    1.利用composer

          这种方法很麻烦,要安装先安装composer,然后还要上官网下载composer.phar文件,然后还要创建bat文件,最后,等你成功安装composer后,使用composer require phpoffice/phpexcel,它显示失败,然后吧,我执行命令,composer update让它更新一下,之后又执行composer require phpoffice/phpexcel,终于看见i.nstall phpexcel,突然又弹出对话框 php cli停止工作。oh no 崩溃感觉有没有~~~~~无数乌鸦在头上飘。

    2.另外一种就是我接下来要讲的从网上下载Phpexcel文件夹,把里面的classes  文件夹重命名为 Phpexcel,然后把该文件夹放入项目根目录的extend内。

    在控制器中的代码是:

    public functiontest(){

    /**

    * tp5使用excel导出

    *@param

    *@authorstaitc7  *@returnmixed

    */

    $name='测试导出';

    $header=['表头A','表头B'];

    $data=[

    ['嘿嘿','heihei'],

    ['哈哈','haha']

    ];

    excelExport($name,$header,$data);

    }

    在common.php下的代码是:

    //注意\think\Request::instance()->time()不能单纯是 Request::instance()->time()

    //要导入类,否则会出错,以为tp5强制使用命名空间think\Loader::import('PHPExcel.PHPExcel');

    functionexcelExport($fileName='',$headArr= [],$data= []) {

    $fileName.="_".date("Y_m_d", \think\Request::instance()->time()) .".xls";

    \think\Loader::import('PHPExcel.PHPExcel');

    $objPHPExcel=new\PHPExcel();

    $objPHPExcel->getProperties();

    $key=ord("A");//设置表头

    foreach($headArras$v) {

    $colum=chr($key);

    $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum.'1',$v);

    $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum.'1',$v);

    $key+=1;

    }

    $column=2;

    $objActSheet=$objPHPExcel->getActiveSheet();

    foreach($dataas$key=>$rows) {//行写入

    $span=ord("A");

    foreach($rowsas$keyName=>$value) {//列写入

    $objActSheet->setCellValue(chr($span) .$column,$value);

    $span++;

    }

    $column++;

    }

    $fileName=iconv("utf-8","gb2312",$fileName);//重命名表

    $objPHPExcel->setActiveSheetIndex(0);//设置活动单指数到第一个表,所以Excel打开这是第一个表

    header('Content-Type: application/vnd.ms-excel');

    header("Content-Disposition: attachment;filename='$fileName'");

    header('Cache-Control: max-age=0');

    $objWriter= \PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');

    $objWriter->save('php://output');//文件通过浏览器下载

    exit();

    }

    最后效果

    相关文章

      网友评论

          本文标题:菜鸟之TP5引入Phpexcel

          本文链接:https://www.haomeiwen.com/subject/gnmcvxtx.html