พิมพ์คำสั่งใน command line ใน โฟลดเดอร์ project
composer require phpoffice/phpexcel
AppController.php
use PHPExcel; use PHPExcel_IOFactory; public function Export_excel(){ $i=1; $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A' . $i, 'ID') //กำหนดให้ cell A1 พิมพ์คำว่า ID ->setCellValue('B' . $i, 'state') //กำหนดให้ cell B1 พิมพ์คำว่า state ->setCellValue('C' . $i, 'age') //กำหนดให้ cell C1 พิมพ์คำว่า state $name_cell="D"; $i++; $j=1; $objPHPExcel->getActiveSheet()->setCellValue($name_cell.$i,"r".$j); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('form.xlsx'); // Save File เป็นชื่อ form.xlsx } public function actionExport_excel(){ $i=1; $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A' . $i, 'ชื่อ') //กำหนดให้ cell A1 พิมพ์คำว่า ID ->setCellValue('B' . $i, 'ชื่อเล่น') //กำหนดให้ cell B1 พิมพ์คำว่า state ->setCellValue('C' . $i, 'สถานที่รับ') //กำหนดให้ cell C1 พิมพ์คำว่า state ->setCellValue('D' . $i, 'สถานที่ลง') //กำหนดให้ cell C1 พิมพ์คำว่า state ->setCellValue('E' . $i, 'เบอร์โทรศัพท์'); //กำหนดให้ cell C1 พิมพ์คำว่า state $passengers =Passenger::find()->all(); $objPHPExcel->getActiveSheet()->getColumnDimension("A")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension("B")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension("C")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension("D")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension("E")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getStyle("A".$i.":E".$i)->getFont()->setSize(20); $i++; foreach($passengers as $p){ $objPHPExcel->getActiveSheet()->getStyle("A".$i.":E".$i)->getFont()->setSize(16); $objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$p->name); $objPHPExcel->getActiveSheet()->setCellValue('B'.$i,$p->nick_name); $objPHPExcel->getActiveSheet()->setCellValue('C'.$i,$p->place_get); $objPHPExcel->getActiveSheet()->setCellValue('D'.$i,$p->place_off); $objPHPExcel->getActiveSheet()->setCellValue('E'.$i,$p->telephone); $i++; } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('passenger.xlsx'); $download_path ="https://programmerdesign.com/benz_room072/frontend/web/passenger.xlsx"; $link="/benz_room072/frontend/web/passenger.xlsx"; return $this->render('download_file',["download_path"=>$download_path,'link'=>$link]); }