在 yii2 中向 excel 报告错误

Reporting to excel in yii2 something wrong

我尝试在 yii2 中创建向 excel 的报告。首先,我制作文件 excel 以在单击 view/index.php 中的按钮导出时容纳数据。我放入文件 app/views/donatur。 第二,我在控制器中添加了 actionExportExcel,目的是使用 PHPExcel 库生成格式为 excel 的数据。 有问题,我不知道为什么,在下面报错。

Could not open $app/views/donatur/excel.xlsx for reading! File does not exist.

控制器中的代码

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;
    }

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

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