ant-kritsky/yii2-export

一个用于以各种格式(例如 excel、html、pdf、csv 等)导出服务器/数据库数据的库

资助包维护!
Open Collective

安装: 20

依赖者: 0

建议者: 0

安全性: 0

星星: 0

观察者: 0

分支: 126

类型:yii2-extension

v1.4.3 2021-04-05 16:06 UTC

README

Krajee Logo
yii2-export Donate

Stable Version Unstable Version License Total Downloads Monthly Downloads Daily Downloads

使用 PhpSpreadsheet 库导出服务器/数据库数据到各种格式(例如 excel、html、pdf、csv 等)的库。小部件允许您配置数据提供者和列,就像在 yii\grid\GridView 中一样。然而,它只是以按钮下拉菜单的形式显示导出操作,以便嵌入到任何 GridView 或其他组件中。

此外,从版本 v1.2.0 开始,该扩展还提供了一个实用的网格列选择器,用于控制导出的列。列选择器提供的功能包括:

  • 显示列选择器下拉列表以允许选择要导出的列。
  • 新的 container 属性允许您将导出菜单和列选择器下拉列表分组。
  • 新的 template 属性允许您操作菜单、列选择器或按钮组中的附加按钮的显示。
  • 允许通过 columnSelectorOptions 配置列选择器下拉按钮。
  • 自动生成列选择器中的列标签。但是,您可以通过设置 columnSelector 属性来覆盖每个列键的显示列标签。
  • 允许通过 selectedColumns 预选列(您必须设置所选列的键)
  • 允许通过 disabledColumns 在列选择器中禁用列(您必须设置禁用列的键)
  • 允许通过 hiddenColumns 在列选择器中隐藏列(您必须设置隐藏列的键)
  • 允许通过 noExportColumns 从导出和列选择器中隐藏列(您必须设置不导出列的键)
  • 允许通过 showColumnSelector 属性切换列选择器的显示
  • 只有当 asDropdown 设置为 true 时,才会显示列选择器。

该扩展通过视图模板提供可配置的用户界面,用于高级用例。

  • exportColumnsView 允许您设置自己的自定义视图文件以渲染列选择器下拉列表。
  • afterSaveView 允许您设置自己的保存后视图文件,如果您正在配置在服务器上保存导出文件。

演示

您可以在 文档演示 中查看扩展的详细使用说明。

发布更改

注意:有关各个版本的更改详细信息,请参阅 变更日志

安装

安装此扩展的首选方法是使用 composer

注意:请阅读此 网络提示 /wiki 了解如何在您的应用程序的 composer.json 中设置 minimum-stability 设置。

运行以下命令之一:

$ php composer.phar require kartik-v/yii2-export "@dev"

或者添加

"kartik-v/yii2-export": "@dev"

将代码添加到 composer.json 文件的 require 部分。

注意:您必须运行 composer update 以获得最新的稳定依赖,例如 kartik-v/yii2-krajee-base

先决条件

yii2-export 扩展依赖于 yii2-grid 扩展模块。为了开始使用 yii2-export,您需要确保在应用程序模块配置文件中设置了 gridview 模块。例如

'modules' => [
    'gridview' => [
        'class' => 'kartik\grid\Module',
        // other module settings
    ]
]

使用方法

ExportMenu

use kartik\export\ExportMenu;
$gridColumns = [
    ['class' => 'yii\grid\SerialColumn'],
    'id',
    'name',
    'color',
    'publish_date',
    'status',
    ['class' => 'yii\grid\ActionColumn'],
];

// Renders a export dropdown menu
echo ExportMenu::widget([
    'dataProvider' => $dataProvider,
    'columns' => $gridColumns,
    'clearBuffers' => true, //optional
]);

// You can choose to render your own GridView separately
echo \kartik\grid\GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => $gridColumns
]);

贡献者

代码贡献者

这个项目之所以存在,是因为所有贡献者的努力。[贡献].

财务贡献者

成为财务贡献者,帮助我们维持社区。[贡献]

个人

组织

用您的组织支持此项目。您的标志将在这里显示,并带有指向您网站的链接。[贡献]

许可证

yii2-export 在 BSD-3-Clause 许可证下发布。有关详细信息,请参阅捆绑的 LICENSE.md 文件。