时间:2021-07-01 10:21:17 帮助过:21人阅读
我用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++; } }