yii2导出excel

yii2导出excel功能:

库地址

Extension to allow export Yii2 query to excel and auto download
Requirements

Yii2.0 or above
Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require scotthuangzl/yii2-export2excel "dev-master"

or add

"scotthuangzl/yii2-export2excel": "dev-master"

to the require section of your composer.json file.
Usage

In any of your controller:

use scotthuangzl\export2excel\Export2ExcelBehavior;
    public function behaviors()
        {
        //above is your existing behaviors
        //new add export2excel behaviors
                'export2excel' => [
                    'class' => Export2ExcelBehavior::className(),
//'prefixStr' => yii::$app->user->identity->username,
  //              'suffixStr' => date('Ymd-His'),
                ],
        }
    
    public function actions()
    {
        return [
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
                'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
            ],
            //new add download action
            'download' => [
                'class' => 'scotthuangzl\export2excel\DownloadAction',
            ],
        ];
    }
    
    //In any of your actions:
    public function actionYoursAnyAction(){
//... your other code
        //test export2excel behavior
        $excel_data = Export2ExcelBehavior::excelDataFormat(EOPStatus::find()->asArray()->all());
        $excel_title = $excel_data['excel_title'];
        $excel_ceils = $excel_data['excel_ceils'];
        $excel_content = array(
            array(
                'sheet_name' => 'EOPStatus',
                'sheet_title' => $excel_title,
                'ceils' => $excel_ceils,
                'freezePane' => 'B2',
                'headerColor' => Export2ExcelBehavior::getCssClass("header"),
                'headerColumnCssClass' => array(
                    'id' => Export2ExcelBehavior::getCssClass('blue'),
                    'Status_Description' => Export2ExcelBehavior::getCssClass('grey'),
                ), //define each column's cssClass for header line only.  You can set as blank.
                'oddCssClass' => Export2ExcelBehavior::getCssClass("odd"),
                'evenCssClass' => Export2ExcelBehavior::getCssClass("even"),
            ),
            array(
                'sheet_name' => 'Important Note',
                'sheet_title' => array("Important Note For Region Template"),
                'ceils' => array(
                    array("1.Column Platform,Part,Region must need update.")
                , array("2.Column Regional_Status only as Regional_Green,Regional_Yellow,Regional_Red,Regional_Ready.")
                , array("3.Column RTS_Date, Master_Desc, Functional_Desc, Commodity, Part_Status are only for your reference, will not be uploaded into NPI tracking system."))
            ),
        );
        $excel_file = "testYii2Save2Excel";
        $this->export2excel($excel_content, $excel_file);
//... your other code
    }
    

标签: 无

发表评论: