欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

yii?用phpexcel导出数据

程序员文章站 2024-02-01 11:14:10
...
我用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++;        }    }