Heim  >  Artikel  >  Backend-Entwicklung  >  yii?用phpexcel导出数据

yii?用phpexcel导出数据

WBOY
WBOYOriginal
2016-06-23 13:31:001111Durchsuche

我用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++;        }    }

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn