yii2-export2excel Behavior to export Yii2 query to excel and auto download

Yii2 Export2Excel

  1. Requirements
  2. Installation
  3. Usage
  4. Sample picture
  5. Resources

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
	}
	

Sample picture

Sample picture

Resources

github yii2-export2excel

packagist yii2-export2excel

You can refer to my wiki here

I just create this extension base on that wiki's main concep and help you to easy use it.

2 0
3 followers
0 downloads
Yii Version: 2.0
License: BSD-2-Clause
Category: Database
Developed by: Scott_Huang
Created on: Jun 16, 2015
Last updated: 3 years ago

Related Extensions