thinkphp 使用phpExcel 导出表格

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012767761/article/details/84855344

下载 PHPExcel(https://github.com/PHPOffice/PHPExcel

把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下

//导出
public function outexcel(){
    
    vendor("PHPExcel.PHPExcel");
    $PHPExcel = new \PHPExcel();
    $PHPSheet = $PHPExcel->getActiveSheet();
    $PHPSheet->setTitle("信息统计"); //给当前活动sheet设置名称
    $PHPSheet->setCellValue("A1", "栏目1")
        ->setCellValue("B1", "栏目2")
        ->setCellValue("C1", "栏目3")
        ->setCellValue("D1", "栏目4")
        ->setCellValue("E1", "栏目5")
        ->setCellValue("F1", "栏目6")
        ->setCellValue("G1", "栏目7")
        ->setCellValue("H1", "栏目8")
        ->setCellValue("I1", "栏目9")
        ->setCellValue("J1", "栏目10");
  //对齐方式
        $PHPSheet->getStyle("A1:J1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//水平方向上两端对齐
        $PHPSheet->getStyle("A1:J1")->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//垂直方向上中间居中


        $i = 2;
        foreach($list as $data){
            //对齐方式
            $PHPSheet->getStyle("A{$i}:J{$i}")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//水平方向上两端对齐
            $PHPSheet->getStyle("A{$i}:J{$i}")->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//垂直方向上中间居中
            //设置行高
            $PHPSheet->getRowDimension($i)->setRowHeight(20);
            //设置行宽
            $PHPSheet->getColumnDimension("B")->setWidth(20);
    $i = 2;
    foreach($list as $data){
            $PHPSheet->setCellValue("A" . $i, $data['c0'])
                ->setCellValue("B" . $i, $data['c1'])
                ->setCellValue("C" . $i, $data['c2'])
                ->setCellValue("D" . $i, $data['c3'])
                ->setCellValue("E" . $i, $data['c4'])
                ->setCellValue("F" . $i, $data['c5'])
                ->setCellValue("G" . $i, $data['c6'])
                ->setCellValue("H" . $i, $data['c7'])
                ->setCellValue("I" . $i, $data['c8'])
                ->setCellValue("J" . $i, $data['c9']);
            $i++;
    }

    $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007");
    ob_end_clean();
    header('Content-Disposition: attachment;filename="信息统计表格.xlsx"');
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    $PHPWriter->save("php://output"); 
    exit;
}

猜你喜欢

转载自blog.csdn.net/u012767761/article/details/84855344