>  기사  >  백엔드 개발  >  yii?用phpexcel导出数据

yii?用phpexcel导出数据

WBOY
WBOY원래의
2016-06-23 13:31:001112검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.