报告在yii2中表现出色是错误的

时间:2016-09-15 17:10:08

标签: excel yii yii2 reporting phpexcel

我试图在yii2中创建报告以excel。第一个,当我在view / index.php中单击按钮导出时,我已经使文件excel适应数据。我把文件app / views / donatur放进去。 第二,我在控制器中添加了actionExportExcel,这是使用库PHPExcel生成数据以格式化excel的目标。 出了点问题,我不知道为什么,错误如下。

  

无法打开$ app / views / donatur / excel.xlsx进行阅读!文件不存在。

控制器中的

代码

public function actionExportExcel()
    {
        $searchModel = new DonaturSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
        
        // set tempate
        $template = Yii::getAlias('$app/views/donatur').'/excel.xlsx';
        $objPHPExcel = $objReader->load($template);
        $activeSheet = $objPHPExcel->getActiveSheet();

        // Set orientasi & ukuran kertas 
        $activeSheet->getPageSetup()->setOrientation(\PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE)->
        setPaperSize(\PHPExcel_Worksheet_PageSetup::PAPERSIZE_FOLIO);
        $baseRow = 4;
        foreach ($dataProvider->getModels() as $donatur) {
            $activeSheet->setCellValue('A'.$baseRow, $baseRow-2)->
            setCellValue('B'.$baseRow, $category->nama_donatur)->
            setCellValue('C'.$baseRow, $category->alamat)->
            setCellValue('D'.$baseRow, $category->telepon);
            $baseRow++;
        }
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment; filename= "excel.xlsx"');
        header('Cache-Control: max-age=0');
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");
        $objWriter->save('php://output');
        exit;
    }

1 个答案:

答案 0 :(得分:0)

在别名中,您应该使用@而不是$

 $template = Yii::getAlias('@app/views/donatur').'/excel.xlsx';