如何使用多个工作表导出数据 Yii2 ExportMenu

How to export data with multiple worksheet Yii2 ExportMenu

有一种简单的方法可以使用 Yii2 kartik ExportMenu 在一个导出的 excel 文件中创建多个作品 sheet。它适用于单个选项卡,但现在我想在 csvexcel 的单个 sheet 中导出多个选项卡中的数据。 这是可能的还是我需要为此直接使用 PHPExcel

echo ExportMenu::widget([
     'dataProvider' => $dataProvider,
     'columns' => $gridColumns,
     'target' => ExportMenu::TARGET_BLANK,
     'dropdownOptions' => [
      'label' => 'Export',
      'class' => 'btn btn-warning', 
      'export' => true,
      'toolbar'=>[
      '{export}',
      '{toggleData}'
      ]          
    ],
     'exportConfig'=>[
     ExportMenu::FORMAT_HTML=>false,
     ExportMenu::FORMAT_TEXT=>false,
     ExportMenu::FORMAT_PDF=>false,
     ExportMenu::FORMAT_EXCEL=>false,
     ],
]);

该扩展已构建为仅导出客户端上显示的数据。 您需要自己编写 query/code 来导出大型数据集。

另一种方法是使用 yii2-export 扩展,它使用 PHP Excel 库导出并直接从 dataProvider 读取数据。

但是导出非常大的数据集通常通过直接查询更快地完成,而不是为了更改为其他格式而进行太多处理。