ericmaicon/yii2-export

这只是另一个yii2导出菜单组件。

安装: 81

依赖: 0

建议者: 0

安全性: 0

星标: 5

关注者: 2

分支: 11

开放问题: 2

类型:yii2-extension

1.0 2016-03-16 21:08 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:19:48 UTC


README

Latest Version Build Status

本库的主要目的不是替换kartik-v/yii2-export。Kartik的版本有很多特性,本版本未实现。

这是一个从头开始编写的新yii2-export小部件,以提高性能。

这个想法是在PHPExcel无法快速生成大型的Excel文件时出现的。第一个特性是将报告生成任务派发到队列中。

不仅如此,另一个特性是用spout替换PHPExcel,成功减少了耗时。

安装

安装此扩展的首选方式是通过composer

运行以下命令

$ composer require ericmaicon/yii2-export:*

或将以下代码添加到您的composer.json文件的require部分:

"ericmaicon/yii2-export": "*"

使用方法

与网格一起使用

<?= \Da\export\GridView::widget([
    'dataProvider' => $dataProvider,
]); ?>

要使用Kartik的网格,您需要重写renderExport方法

<?php

use Da\export\ExportMenu;

class GridView extends \kartik\grid\GridView
{
    public function renderExport()
    {
        return ExportMenu::widget([
            'dataProvider' => $this->dataProvider,
            'columns' => $this->columns,
        ]);
    }
}

独立使用


其他配置

队列

[
    'target' => \Da\export\ExportMenu::TARGET_QUEUE,
    'queueConfig' => [
        'queueName' => \common\models\ReportModel::REPORT_TUBE,
        'queueAdapter' => \Da\export\queue\rabbitmq\RabbitMqQueueStoreAdapter::className(),
        'queueMessage' => function () {

        }
    ]
]

目标

[
    'target' => \Da\export\ExportMenu::TARGET_SELF,
]

文件名

[
    'filename' => 'test',
]

导出页脚

[
    'exportFooter' => true,
]

选项

[
    'class' => 'btn-group',
]

下拉选项

[
    'class' => 'btn btn-default',
    'label' => 'Export',
    'menuOptions' => [
        'class' => 'dropdown-menu dropdown-menu-right'
    ]
]

下拉项

[
    ExportMenu::FORMAT_CSV => [
        'label' => 'CSV',
        'options' => [
            'title' => 'Comma Separated Values',
            'data-id' => ExportMenu::FORMAT_CSV,
        ],
        'url' => 'javascript:;',
        'className' => CsvOption::className(),
    ]
]

选中选项

[
    'selectedOption' => ExportMenu::FORMAT_CSV,
]

测试

$ ./vendor/bin/phpunit

缺少什么?

  1. PDF、HTML和TXT导出选项
  2. 确认警报
  3. 列选择器
  4. 存储文件
  5. 事件
  6. 国际化