PHPExcel 多工作表 导出

    //浏览器输出excel
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment;filename="dzg_card_info.xlsx"');
        header('Cache-Control: max-age=0');

        $this->load->library('PHPExcel'); //加载类库,其他框架可以使用require_one
        $objPHPExcel = new PHPExcel();
        $objPHPExcel->setActiveSheetIndex(0); //设置第一个工作表为活动工作表
        $objPHPExcel->getActiveSheet()->setTitle('card_info'); //设置工作表名称
        //为单元格赋值
        //方法①:直接设置单元格的值
        /* $objPHPExcel->getActiveSheet()->setCellValue('A1', 'PHPExcel');
          $objPHPExcel->getActiveSheet()->setCellValue('A2', 12345.6789);
          $objPHPExcel->getActiveSheet()->setCellValue('A3', TRUE); */

        //方法②:二维数组
        $arrHeader = array(['id', '名字', '技能', '创建时间']);
        $arrAllCardInfo = $this->admin_model->getAllCardInfo(); //二维数组
        $arrExcelInfo = array_merge($arrHeader, $arrAllCardInfo);
        $arrExcelInfo = eval('return ' . iconv('gbk', 'utf-8', var_export($arrExcelInfo, true)) . ';'); //将数组转换成utf-8
        $objPHPExcel->getActiveSheet()->fromArray(
                $arrExcelInfo, // 赋值的数组
                NULL, // 忽略的值,不会在excel中显示
                'A1' // 赋值的起始位置
        );

        //创建第二个工作表
        $msgWorkSheet = new PHPExcel_Worksheet($objPHPExcel, 'card_message'); //创建一个工作表
        $objPHPExcel->addSheet($msgWorkSheet); //插入工作表
        $objPHPExcel->setActiveSheetIndex(1); //切换到新创建的工作表
        $arrHeader = array(['id', 'uid', '描述']);
        $arrBody = $this->admin_model->getAllCardMsg();
        $arrExcelInfo = array_merge($arrHeader, $arrBody);
        $arrExcelInfo = eval('return ' . iconv('gbk', 'utf-8', var_export($arrExcelInfo, true)) . ';'); //将数组转换成utf-8
        $objPHPExcel->getActiveSheet()->fromArray(
                $arrExcelInfo, // 赋值的数组
                NULL, // 忽略的值,不会在excel中显示
                'A1' // 赋值的起始位置
        );


        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");
        $objWriter->save('php://output');

        $objPHPExcel->disconnectWorksheets();
        unset($objPHPExcel);

 

posted @ 2013-12-19 14:35  耐得住寂寞  阅读(14620)  评论(1编辑  收藏  举报