• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    thinkPHP5框架导出Excel文件简单操作示例

    本文实例讲述了thinkPHP5框架导出Excel文件简单操作。分享给大家供大家参考,具体如下:

    1. 首先安装PHPExcel 这里用composer安装

    composer require phpoffice/phpexcel
    
    

    2. 在控制类引用

    use PHPExcel_IOFactory;
    use PHPExcel;
    
    

    3. 在控制其中书写导出方法

    /**
     * 导出迟到数据
     */
    public function export_later()
    {
      $date = explode("-",input("get.date"));
      $_opt['year'] = $date[0];
      $_opt['month'] = $date[1];
      $laterArray = Db::name('user')->select();//查找user表数据
      $xlsName = $_opt['month']."月迟到早退数据统计";
      $xlsCell = array(
        array('user_name','姓名'),
        array('user_accounts','工号'),
        array('later_times','迟到次数'),
        array('total_later','迟到累计(分钟)'),
        array('early_times','早退次数'),
        array('total_early','早退累计(分钟)'),
      );//查出字段输出对应Excel对应的列名
      //公共方法调用
      export_excel($xlsName,$xlsCell,$laterArray);
    }
    /**
     * 公共数据导出实现功能
     * @param $expTitle 导出文件名
     * @param $expCellName 导出文件列名称
     * @param $expTableData 导出数据
     */
    function export_excel($expTitle,$expCellName,$expTableData)
    {
      $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
      $fileName = $expTitle . date('_Ymd');//or $xlsTitle 文件名称可根据自己情况设定
      $cellNum = count($expCellName);
      $dataNum = count($expTableData);
      $objPHPExcel = new PHPExcel();//方法一
      $cellName = array('A','B', 'C','D', 'E', 'F','G','H','I', 'J', 'K','L','M', 'N', 'O', 'P', 'Q','R','S', 'T','U','V', 'W', 'X','Y', 'Z', 'AA',
        'AB', 'AC','AD','AE', 'AF','AG','AH','AI', 'AJ', 'AK', 'AL','AM','AN','AO','AP','AQ','AR', 'AS', 'AT','AU', 'AV','AW', 'AX',
        'AY', 'AZ');
      //设置头部导出时间备注
      $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1');//合并单元格
      $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle . ' 导出时间:' . date('Y-m-d H:i:s'));
      //设置列名称
      for ($i = 0; $i  $cellNum; $i++) {
        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '2', $expCellName[$i][1]);
      }
      //赋值
      for ($i = 0; $i  $dataNum; $i++) {
        for ($j = 0; $j  $cellNum; $j++) {
          $objPHPExcel->getActiveSheet(0)->setCellValue(
            $cellName[$j] . ($i + 3), $expTableData[$i][$expCellName[$j][0]]
          );
        }
      }
      ob_end_clean();//这一步非常关键,用来清除缓冲区防止导出的excel乱码
      header('pragma:public');
      header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');
      header("Content-Disposition:attachment;filename=$fileName.xls");//"xls"参考下一条备注
      $objWriter = \PHPExcel_IOFactory::createWriter(
        $objPHPExcel, 'Excel5'
      );//"Excel2007"生成2007版本的xlsx,"Excel5"生成2003版本的xls
      $objWriter->save('php://output');
    }
    
    

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
    • ThinkPHP基于PHPExcel导入Excel文件的方法
    • 详解thinkphp实现excel数据的导入导出(附完整案例)
    • ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
    • thinkPHP实现将excel导入到数据库中的方法
    • Dwz与thinkphp整合下的数据导出到Excel实例
    • thinkphp3.2中实现phpexcel导出带生成图片示例
    • 基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
    • thinkPHP导出csv文件及用表格输出excel的方法
    • ThinkPHP 框架实现的读取excel导入数据库操作示例
    • thinkphp5.1 框架导入/导出excel文件操作示例
    上一篇:PHP命名空间namespace及use的简单用法分析
    下一篇:PHP实现的函数重载功能示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    thinkPHP5框架导出Excel文件简单操作示例 thinkPHP5,框架,导出,Excel,