美文网首页ThinkPHP
thinkphp5 之 PHPExcel使用

thinkphp5 之 PHPExcel使用

作者: 大步向前blue | 来源:发表于2017-12-01 10:04 被阅读49次

    核心思想:

        PHPExcel只是一个php的扩展,你也可以理解为一个工具包,里面有很多关于处理Excel的类,我们直接去调用就好。

    准备工作,导入到出会使用到的函数:

    //获取excel操作对象,其中$filePath表示excel文件的路径【一定要写正确,请勿使用  "/public/..."  这种直接用“/”表示的路径】
    $objPHPExcel = PHPExcel_IOFactory::load($filePath);

    //获取工作表中第一个sheet对象【一个excel中可以有多个工作表即多个sheet】
    $sheet=$objPHPExcel->getSheet(0);

    //获取当前excel中的sheet对象
    $sheet=$objPHPExcel->getActiveSheet(0);

    //获取工作表中所有sheets对象
    $sheets=$objPHPExcel->getAllSheets()

    //获取excel表格的总行数【编辑过的都算,包括表格中写了空格的空行】
    $highestRow=$sheet->getHighestRow();

    //获取excel表格中的总列数
    $highestColumn=$sheet->getHighestColumn();

    //将excel中的 A1  ,B1等转换为数字 , 0 ,1 ,...
    $highestColumn= PHPExcel_Cell::columnIndexFromString('A1');   // ok, 0

    //将0,1,2,....等转换为  A1,B1,C1,....,  
    $cellName = PHPExcel_Cell::stringFromColumnIndex('0').1   //OK,   A1

    //给  A1 等单元格设置值
    $sheet->setCellValue('A1','hello'); 

    //根据坐标获取指定单元格的值
    $sheet->getCellByColumnAndRow('0','0')->getValue()


    引用phpexcel,直接放在thinkphp中的vendor目录下即可。

    导出实例:

    public function exportExcel($dataArr,$fieldArr)
    {
         if (empty($fieldArr) || empty($dataArr))
        {
             return;
         }
         $this->load->library('phpexcel/PHPExcel');
        //创建PHPExcel对象
         $obj = new PHPExcel();
         //创建excel写入对象
         $writer = new PHPExcel_Writer_Excel5($obj);
         //得到当前工作表对象
         $curSheet = $obj->getActiveSheet(0);
         foreach($dataArr as $k => $v)
         {
             foreach($v as $kk => $vv)
            {
                     $cellName = PHPExcel_Cell::stringFromColumnIndex($kk) . ($k+1);
                     $curSheet->setCellValue($cellName,$vv);
             }
         }
         $fileName = date('YmdHis', time());
         ob_end_clean();
         header('Content-Type: application/vnd.ms-execl');
         header('Content-Disposition: attachment;filename="' . $fileName . '.xls"');
         header('Cache-Control: max-age=0'); $writer->save('php://output');
    }


    读取数据

    自动识别2003和2007以后的excel版本

    加载phpexcel类

    读取表格中的数据 

    获取excel表格中的值

    相关文章

      网友评论

        本文标题:thinkphp5 之 PHPExcel使用

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