thinkphp 使用phpExcel 匯出表格
阿新 • • 發佈:2019-01-14
下載 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; }