thinkphp 导出excel

1.下载文件https://github.com/PHPOffice/PHPExcel

也可以下从网盘下载简略版 https://pan.baidu.com/s/1mPYN_T16tWpLB8Fum7aoFQ

2.将下载回来的压缩文件PHPExcel.rar解压,放到thinkphp的第三方类库目录vendor下

3.

public function export() {

    vendor('PHPExcel.PHPExcel');
    $Excel = new \PHPExcel();
    
    //你要导出的数据
    $arr = array ( 1 => array ( 'name' => '小明', 'sex' => '男', 'age' => '18', ), 2 => array ( 'name' => '小红', 'sex' => '女', 'age' => '22', ), 3 => array ( 'name' => '小军', 'sex' => '男', 'age' => '23', ), );
 
    // 设置
    $Excel
        ->getProperties()
        ->setCreator("dee")
        ->setLastModifiedBy("dee")
        ->setTitle("数据EXCEL导出")
        ->setSubject("数据EXCEL导出")
        ->setDescription("数据EXCEL导出")
        ->setKeywords("excel")
        ->setCategory("result file");
    
          $Excel->setActiveSheetIndex(0);  
          // 设置表格第一行显示内容  
           $Excel->getActiveSheet()   
           ->setCellValue('A1', '姓名')   
           ->setCellValue('B1', '性别')   
           ->setCellValue('C1', '年龄');   
  
            $key = 1;  /*以下就是对处理Excel里的数据,横着取数据*/ 

            foreach($arr as $v){    //设置循环从第二行开始  
                $key++;   
                $Excel->getActiveSheet()        //Excel的第A列,name是你查出数组的键值字段,下面以此类推      
                ->setCellValue('A'.$key, $v['name'])       
                ->setCellValue('B'.$key, $v['sex'])       
                ->setCellValue('C'.$key, $v['age']);      
   
              } 
 
    $Excel->getActiveSheet()->setTitle('title');
    $Excel->setActiveSheetIndex(0);
    $name='文件名.xlsx';
 
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment; filename='.$name);
    header('Cache-Control: max-age=0');
 
    $ExcelWriter = \PHPExcel_IOFactory::createWriter($Excel, 'Excel2007');
    $ExcelWriter->save('php://output');
    exit;       
}

访问该方法就可以下载了,结果如下:

thinkphp 导出excel_第1张图片

如果有什么问题及不懂的可以于关注公众号回复999加我微信交流下

你可能感兴趣的:(thinkphp 导出excel)