我用yii搭建了一個後台,在後台頁面添加了 匯出按鈕點擊匯出按鈕是,將當前頁面的資料匯出到一個表格這個功能要怎麼實現??在這之前我試過用phpexcel來匯出用phpexcel 內建的例子可以正常匯出,但是我將這個匯出的方法扔到控制器,用index.php?r=Tips/excel來調用時,顯示notfount
回複討論(解決方案)
1.將phpexcel放到extension裡面。
2.main.php引入'extensions.PHPExcel.Classes.*';
3.自己寫匯出代碼
4.1-2不會,我也沒法幫你,3不會,就參考phpexcel例子
下面我給出我自己寫的例子,我是直接匯入excel類,你可以當組件載入。看個人喜好
Yii::import('application.extensions.PHPExcel.Classes.*'); $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") ->setKeywords("office 2007 openxml php") ->setCategory("Test result file"); $objPHPExcel->getActiveSheet()->setTitle('name'); $objPHPExcel->setActiveSheetIndex(0); $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); header("Pragma: public"); header("Expires: 0"); header('Content-Type: application/vnd.ms-excel;charset=utf8'); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); $fireName = '盤點單'; header("Content-Disposition:attachment;filename=$fireName.xls"); header("Content-Transfer-Encoding:binary"); $objWriter->save("php://output"); Yii::app()->end(); spl_autoload_register(array('YiiBase','autoload')); } //長期定的資料匯出 private function defaulta($objPHPExcel,$resource){ $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', '訂單ID') ->setCellValue('B1', '訂單SN') $i = 2; foreach ($resource as $row){ $objPHPExcel->setActiveSheetIndex(0) ->setCellValue("A$i", $row['order_id']) ->setCellValue("B$i", " $row[order_sn] "); $i++; } }