Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义网格中的Magento2导出按钮(CSv)_Magento2_Magento 2.0 - Fatal编程技术网

自定义网格中的Magento2导出按钮(CSv)

自定义网格中的Magento2导出按钮(CSv),magento2,magento-2.0,Magento2,Magento 2.0,如何在magento2的自定义网格中添加CSV导出按钮。我已经创建了一个网格和表单。需要在magento2中添加csv导出功能。将csv导出按钮添加到网格块布局(XML): */*/exportCsv CSV 创建控制器: <?php namespace Yourpackage\Yourmodule\Controller\Adminhtml\Sample; use Magento\Framework\App\ResponseInterface; use Magento\Framew

如何在magento2的自定义网格中添加CSV导出按钮。我已经创建了一个网格和表单。需要在magento2中添加csv导出功能。

将csv导出按钮添加到网格块布局(XML):


*/*/exportCsv
CSV
创建控制器:

<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Sample;

use Magento\Framework\App\ResponseInterface;
use Magento\Framework\App\Filesystem\DirectoryList;

class ExportCsv extends \Yourpackage\Yourmodule\Controller\Adminhtml\Sample
{
    /**
     * Export data grid to CSV format
     *
     * @return ResponseInterface
     */
    public function execute()
    {
        $this->_view->loadLayout();
        $fileName = 'sample_data.csv';
        $content = $this->_view->getLayout()->getChildBlock('sample.grid', 'grid.export');

        return $this->_fileFactory->create(
            $fileName,
            $content->getCsvFile($fileName),
            DirectoryList::VAR_DIR
        );
    }
}

将CSV导出按钮添加到网格块布局(XML):


*/*/exportCsv
CSV
创建控制器:

<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Sample;

use Magento\Framework\App\ResponseInterface;
use Magento\Framework\App\Filesystem\DirectoryList;

class ExportCsv extends \Yourpackage\Yourmodule\Controller\Adminhtml\Sample
{
    /**
     * Export data grid to CSV format
     *
     * @return ResponseInterface
     */
    public function execute()
    {
        $this->_view->loadLayout();
        $fileName = 'sample_data.csv';
        $content = $this->_view->getLayout()->getChildBlock('sample.grid', 'grid.export');

        return $this->_fileFactory->create(
            $fileName,
            $content->getCsvFile($fileName),
            DirectoryList::VAR_DIR
        );
    }
}
创建您的控制器

<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Sample;

class ExportCsv extends \Magento\Backend\App\Action
{
  protected $_fileFactory;
  protected $_response;
  protected $_view;
  protected $directory;
  protected $converter;
  protected $resultPageFactory ;
  protected $directory_list;
  public function __construct( \Magento\Backend\App\Action\Context  $context,
         \Magento\Framework\View\Result\PageFactory $resultPageFactory
        ) {
        $this->resultPageFactory  = $resultPageFactory;
        parent::__construct($context);
}
 public function execute()
 {
    $fileName = 'yourfilename.csv';
    $resultPage = $this->resultPageFactory ->create();
    $content = $resultPage->getLayout()->getBlock('yourblockname')->getCsv();;
    $this->_sendUploadResponse($fileName, $content);

 }

protected function _sendUploadResponse($fileName, $content, $contentType='application/octet-stream') {

     $this->_response->setHttpResponseCode(200)
        ->setHeader('Pragma', 'public', true)
        ->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true)
        ->setHeader('Content-type', $contentType, true)
        ->setHeader('Content-Length', strlen($content), true)
        ->setHeader('Content-Disposition', 'attachment; filename="' . $fileName . '"', true)
        ->setHeader('Last-Modified', date('r'), true)
        ->setBody($content)
        ->sendResponse();
    die;

 }
}
<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Report;

use Magento\Framework\App\Filesystem\DirectoryList;

class ExportCsv extends \Magento\Backend\App\Action {

protected $resultPageFactory;
protected $fileFactory;

/**
 * 
 * @param \Magento\Backend\App\Action\Context $context
 * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
 */

public function __construct(
    \Magento\Backend\App\Action\Context $context,
    \Magento\Framework\App\Response\Http\FileFactory $fileFactory,    
    \Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
    $this->resultPageFactory = $resultPageFactory;
    $this->fileFactory       = $fileFactory;
    parent::__construct($context);
}

/**
 * 
 * @return type
 */
public function execute() {
    $fileName = 'salesreport.csv';

    $content = $this->_view->getLayout()->createBlock(
                    \Ktpl\RepresentativeReport\Block\Adminhtml\Salesdata\Grid::class
            )->getCsvFile();

    return $this->fileFactory->create($fileName, $content, DirectoryList::VAR_DIR);
 }
}
创建您的控制器

<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Sample;

class ExportCsv extends \Magento\Backend\App\Action
{
  protected $_fileFactory;
  protected $_response;
  protected $_view;
  protected $directory;
  protected $converter;
  protected $resultPageFactory ;
  protected $directory_list;
  public function __construct( \Magento\Backend\App\Action\Context  $context,
         \Magento\Framework\View\Result\PageFactory $resultPageFactory
        ) {
        $this->resultPageFactory  = $resultPageFactory;
        parent::__construct($context);
}
 public function execute()
 {
    $fileName = 'yourfilename.csv';
    $resultPage = $this->resultPageFactory ->create();
    $content = $resultPage->getLayout()->getBlock('yourblockname')->getCsv();;
    $this->_sendUploadResponse($fileName, $content);

 }

protected function _sendUploadResponse($fileName, $content, $contentType='application/octet-stream') {

     $this->_response->setHttpResponseCode(200)
        ->setHeader('Pragma', 'public', true)
        ->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true)
        ->setHeader('Content-type', $contentType, true)
        ->setHeader('Content-Length', strlen($content), true)
        ->setHeader('Content-Disposition', 'attachment; filename="' . $fileName . '"', true)
        ->setHeader('Last-Modified', date('r'), true)
        ->setBody($content)
        ->sendResponse();
    die;

 }
}
<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Report;

use Magento\Framework\App\Filesystem\DirectoryList;

class ExportCsv extends \Magento\Backend\App\Action {

protected $resultPageFactory;
protected $fileFactory;

/**
 * 
 * @param \Magento\Backend\App\Action\Context $context
 * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
 */

public function __construct(
    \Magento\Backend\App\Action\Context $context,
    \Magento\Framework\App\Response\Http\FileFactory $fileFactory,    
    \Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
    $this->resultPageFactory = $resultPageFactory;
    $this->fileFactory       = $fileFactory;
    parent::__construct($context);
}

/**
 * 
 * @return type
 */
public function execute() {
    $fileName = 'salesreport.csv';

    $content = $this->_view->getLayout()->createBlock(
                    \Ktpl\RepresentativeReport\Block\Adminhtml\Salesdata\Grid::class
            )->getCsvFile();

    return $this->fileFactory->create($fileName, $content, DirectoryList::VAR_DIR);
 }
}

使用magento2中的UI组件在网格中进行导出

在容器标记下,在ui中添加以下行,列出组件xml

  <exportButton name="export_button">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
        <item name="selectProvider" xsi:type="string">vendor_listing.vendor_listing.example_blog_columns.ids</item>
        </item>
      </argument>
     </exportButton>

vendor\u listing.vendor\u listing.example\u blog\u columns.ids

这将为magento2中网格中加载的集合生成csv,以便使用magento2中的UI组件在网格中进行导出

在容器标记下,在ui中添加以下行,列出组件xml

  <exportButton name="export_button">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
        <item name="selectProvider" xsi:type="string">vendor_listing.vendor_listing.example_blog_columns.ids</item>
        </item>
      </argument>
     </exportButton>

vendor\u listing.vendor\u listing.example\u blog\u columns.ids
这将为magento2网格中加载的集合生成csv创建控制器

<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Sample;

class ExportCsv extends \Magento\Backend\App\Action
{
  protected $_fileFactory;
  protected $_response;
  protected $_view;
  protected $directory;
  protected $converter;
  protected $resultPageFactory ;
  protected $directory_list;
  public function __construct( \Magento\Backend\App\Action\Context  $context,
         \Magento\Framework\View\Result\PageFactory $resultPageFactory
        ) {
        $this->resultPageFactory  = $resultPageFactory;
        parent::__construct($context);
}
 public function execute()
 {
    $fileName = 'yourfilename.csv';
    $resultPage = $this->resultPageFactory ->create();
    $content = $resultPage->getLayout()->getBlock('yourblockname')->getCsv();;
    $this->_sendUploadResponse($fileName, $content);

 }

protected function _sendUploadResponse($fileName, $content, $contentType='application/octet-stream') {

     $this->_response->setHttpResponseCode(200)
        ->setHeader('Pragma', 'public', true)
        ->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true)
        ->setHeader('Content-type', $contentType, true)
        ->setHeader('Content-Length', strlen($content), true)
        ->setHeader('Content-Disposition', 'attachment; filename="' . $fileName . '"', true)
        ->setHeader('Last-Modified', date('r'), true)
        ->setBody($content)
        ->sendResponse();
    die;

 }
}
<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Report;

use Magento\Framework\App\Filesystem\DirectoryList;

class ExportCsv extends \Magento\Backend\App\Action {

protected $resultPageFactory;
protected $fileFactory;

/**
 * 
 * @param \Magento\Backend\App\Action\Context $context
 * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
 */

public function __construct(
    \Magento\Backend\App\Action\Context $context,
    \Magento\Framework\App\Response\Http\FileFactory $fileFactory,    
    \Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
    $this->resultPageFactory = $resultPageFactory;
    $this->fileFactory       = $fileFactory;
    parent::__construct($context);
}

/**
 * 
 * @return type
 */
public function execute() {
    $fileName = 'salesreport.csv';

    $content = $this->_view->getLayout()->createBlock(
                    \Ktpl\RepresentativeReport\Block\Adminhtml\Salesdata\Grid::class
            )->getCsvFile();

    return $this->fileFactory->create($fileName, $content, DirectoryList::VAR_DIR);
 }
}
创建您的控制器

<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Sample;

class ExportCsv extends \Magento\Backend\App\Action
{
  protected $_fileFactory;
  protected $_response;
  protected $_view;
  protected $directory;
  protected $converter;
  protected $resultPageFactory ;
  protected $directory_list;
  public function __construct( \Magento\Backend\App\Action\Context  $context,
         \Magento\Framework\View\Result\PageFactory $resultPageFactory
        ) {
        $this->resultPageFactory  = $resultPageFactory;
        parent::__construct($context);
}
 public function execute()
 {
    $fileName = 'yourfilename.csv';
    $resultPage = $this->resultPageFactory ->create();
    $content = $resultPage->getLayout()->getBlock('yourblockname')->getCsv();;
    $this->_sendUploadResponse($fileName, $content);

 }

protected function _sendUploadResponse($fileName, $content, $contentType='application/octet-stream') {

     $this->_response->setHttpResponseCode(200)
        ->setHeader('Pragma', 'public', true)
        ->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true)
        ->setHeader('Content-type', $contentType, true)
        ->setHeader('Content-Length', strlen($content), true)
        ->setHeader('Content-Disposition', 'attachment; filename="' . $fileName . '"', true)
        ->setHeader('Last-Modified', date('r'), true)
        ->setBody($content)
        ->sendResponse();
    die;

 }
}
<?php
namespace Yourpackage\Yourmodule\Controller\Adminhtml\Report;

use Magento\Framework\App\Filesystem\DirectoryList;

class ExportCsv extends \Magento\Backend\App\Action {

protected $resultPageFactory;
protected $fileFactory;

/**
 * 
 * @param \Magento\Backend\App\Action\Context $context
 * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
 */

public function __construct(
    \Magento\Backend\App\Action\Context $context,
    \Magento\Framework\App\Response\Http\FileFactory $fileFactory,    
    \Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
    $this->resultPageFactory = $resultPageFactory;
    $this->fileFactory       = $fileFactory;
    parent::__construct($context);
}

/**
 * 
 * @return type
 */
public function execute() {
    $fileName = 'salesreport.csv';

    $content = $this->_view->getLayout()->createBlock(
                    \Ktpl\RepresentativeReport\Block\Adminhtml\Salesdata\Grid::class
            )->getCsvFile();

    return $this->fileFactory->create($fileName, $content, DirectoryList::VAR_DIR);
 }
}

因为我找不到完整的答案。下面是您应该如何继续,以便可以从管理网格中筛选数据

请从执行方法中删除不需要的行。当我这么问这个问题时,我正忙着处理这个代码。 首先创建您的UI组件

<listingToolbar name="listing_top">
        <exportButton class="Magento\Ui\Component\ExportButton" component="Magento_Ui/js/grid/export" displayArea="dataGridActions">
            <settings>
                <options>
                    <option name="cvs" xsi:type="array">
                        <item name="value" xsi:type="string">csv</item>
                        <item name="label" xsi:type="string" translate="true">CSV</item>
                        <item name="url" xsi:type="string">controller/results/export</item>
                    </option>
                    <option name="xml" xsi:type="array">
                        <item name="value" xsi:type="string">xml</item>
                        <item name="label" xsi:type="string" translate="true">Excel XML</item>
                        <item name="url" xsi:type="string">skininc/results/export</item>
                    </option>
                </options>
            </settings>
        </exportButton>
</listingToolbar>

csv
CSV
控制员/结果/导出
xml
Excel XML
skininc/结果/输出
接下来为skininc/results/export创建控制器

<?php
/**
 * @category Magento 2 Module
 * @package  Theiconnz\Frontendflow
 * @author   Don Nuwinda
 */
namespace MyModule\Frontendflow\Controller\Adminhtml\Results;

use Magento\Framework\App\Filesystem\DirectoryList;
use Magento\Framework\Filesystem;
use Magento\Framework\Filesystem\Directory\WriteInterface;
use Magento\Ui\Component\MassAction\Filter;
use Magento\Ui\Model\Export\ConvertToCsv;
use Magento\Framework\App\Response\Http\FileFactory;
use MyModule\Frontendflow\Model\ResourceModel\MyData\CollectionFactory;

class Export extends \Magento\Backend\App\Action
{
    /**
     * @var \Magento\Backend\Model\View\Result\ForwardFactory
     */
    protected $resultForwardFactory;

    /**
     * Massactions filter
     *
     * @var Filter
     */
    protected $filter;

    /**
     * @var MetadataProvider
     */
    protected $metadataProvider;
    /**
     * @var WriteInterface
     */
    protected $directory;
    /**
     * @var ConvertToCsv
     */
    protected $converter;
    /**
     * @var FileFactory
     */
    protected $fileFactory;



    public function __construct(
        \Magento\Backend\App\Action\Context $context,
        \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory,
        Filter $filter,
        Filesystem $filesystem,
        ConvertToCsv $converter,
        FileFactory $fileFactory,
        \Magento\Ui\Model\Export\MetadataProvider $metadataProvider,
        \MyModule\Frontendflow\Model\ResourceModel\MyData $resource,
        CollectionFactory $collectionFactory
        ) {
            $this->resources = $resource;
            $this->filter = $filter;
            $this->_connection = $this->resources->getConnection();
            $this->directory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
            $this->metadataProvider = $metadataProvider;
            $this->converter = $converter;
            $this->fileFactory = $fileFactory;
            parent::__construct($context);
            $this->resultForwardFactory = $resultForwardFactory;
            $this->collectionFactory = $collectionFactory;
    }

    /**
     * export.
     *
     * @return \Magento\Backend\Model\View\Result\Forward
     */
    public function execute()
    {
        $collection = $this->filter->getCollection($this->collectionFactory->create());

        $component = $this->filter->getComponent();
        $this->filter->prepareComponent($component);
        $dataProvider = $component->getContext()->getDataProvider();
        $dataProvider->setLimit(0, false);
        $ids = [];

        foreach ($collection as $document) {
            $ids[] = (int)$document->getId();
        }

        $searchResult = $component->getContext()->getDataProvider()->getSearchResult();
        $fields = $this->metadataProvider->getFields($component);
        $options = $this->metadataProvider->getOptions();
        $name = md5(microtime());
        $file = 'export/'. $component->getName() . $name . '.csv';
        $this->directory->create('export');
        $stream = $this->directory->openFile($file, 'w+');
        $stream->lock();
        $stream->writeCsv($this->metadataProvider->getHeaders($component));
        foreach ($searchResult->getItems() as $document) {
            if( in_array( $document->getId(), $ids ) ) {
                $this->metadataProvider->convertDate($document, $component->getName());
                $stream->writeCsv($this->metadataProvider->getRowData($document, $fields, $options));
            }
        }
        $stream->unlock();
        $stream->close();
        return $this->fileFactory->create('export.csv', [
            'type' => 'filename',
            'value' => $file,
            'rm' => true  // can delete file after use
        ], 'var');
    }
}


因为我找不到完整的答案。下面是您应该如何继续,以便可以从管理网格中筛选数据

请从执行方法中删除不需要的行。当我这么问这个问题时,我正忙着处理这个代码。 首先创建您的UI组件

<listingToolbar name="listing_top">
        <exportButton class="Magento\Ui\Component\ExportButton" component="Magento_Ui/js/grid/export" displayArea="dataGridActions">
            <settings>
                <options>
                    <option name="cvs" xsi:type="array">
                        <item name="value" xsi:type="string">csv</item>
                        <item name="label" xsi:type="string" translate="true">CSV</item>
                        <item name="url" xsi:type="string">controller/results/export</item>
                    </option>
                    <option name="xml" xsi:type="array">
                        <item name="value" xsi:type="string">xml</item>
                        <item name="label" xsi:type="string" translate="true">Excel XML</item>
                        <item name="url" xsi:type="string">skininc/results/export</item>
                    </option>
                </options>
            </settings>
        </exportButton>
</listingToolbar>

csv
CSV
控制员/结果/导出
xml
Excel XML
skininc/结果/输出
接下来为skininc/results/export创建控制器

<?php
/**
 * @category Magento 2 Module
 * @package  Theiconnz\Frontendflow
 * @author   Don Nuwinda
 */
namespace MyModule\Frontendflow\Controller\Adminhtml\Results;

use Magento\Framework\App\Filesystem\DirectoryList;
use Magento\Framework\Filesystem;
use Magento\Framework\Filesystem\Directory\WriteInterface;
use Magento\Ui\Component\MassAction\Filter;
use Magento\Ui\Model\Export\ConvertToCsv;
use Magento\Framework\App\Response\Http\FileFactory;
use MyModule\Frontendflow\Model\ResourceModel\MyData\CollectionFactory;

class Export extends \Magento\Backend\App\Action
{
    /**
     * @var \Magento\Backend\Model\View\Result\ForwardFactory
     */
    protected $resultForwardFactory;

    /**
     * Massactions filter
     *
     * @var Filter
     */
    protected $filter;

    /**
     * @var MetadataProvider
     */
    protected $metadataProvider;
    /**
     * @var WriteInterface
     */
    protected $directory;
    /**
     * @var ConvertToCsv
     */
    protected $converter;
    /**
     * @var FileFactory
     */
    protected $fileFactory;



    public function __construct(
        \Magento\Backend\App\Action\Context $context,
        \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory,
        Filter $filter,
        Filesystem $filesystem,
        ConvertToCsv $converter,
        FileFactory $fileFactory,
        \Magento\Ui\Model\Export\MetadataProvider $metadataProvider,
        \MyModule\Frontendflow\Model\ResourceModel\MyData $resource,
        CollectionFactory $collectionFactory
        ) {
            $this->resources = $resource;
            $this->filter = $filter;
            $this->_connection = $this->resources->getConnection();
            $this->directory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
            $this->metadataProvider = $metadataProvider;
            $this->converter = $converter;
            $this->fileFactory = $fileFactory;
            parent::__construct($context);
            $this->resultForwardFactory = $resultForwardFactory;
            $this->collectionFactory = $collectionFactory;
    }

    /**
     * export.
     *
     * @return \Magento\Backend\Model\View\Result\Forward
     */
    public function execute()
    {
        $collection = $this->filter->getCollection($this->collectionFactory->create());

        $component = $this->filter->getComponent();
        $this->filter->prepareComponent($component);
        $dataProvider = $component->getContext()->getDataProvider();
        $dataProvider->setLimit(0, false);
        $ids = [];

        foreach ($collection as $document) {
            $ids[] = (int)$document->getId();
        }

        $searchResult = $component->getContext()->getDataProvider()->getSearchResult();
        $fields = $this->metadataProvider->getFields($component);
        $options = $this->metadataProvider->getOptions();
        $name = md5(microtime());
        $file = 'export/'. $component->getName() . $name . '.csv';
        $this->directory->create('export');
        $stream = $this->directory->openFile($file, 'w+');
        $stream->lock();
        $stream->writeCsv($this->metadataProvider->getHeaders($component));
        foreach ($searchResult->getItems() as $document) {
            if( in_array( $document->getId(), $ids ) ) {
                $this->metadataProvider->convertDate($document, $component->getName());
                $stream->writeCsv($this->metadataProvider->getRowData($document, $fields, $options));
            }
        }
        $stream->unlock();
        $stream->close();
        return $this->fileFactory->create('export.csv', [
            'type' => 'filename',
            'value' => $file,
            'rm' => true  // can delete file after use
        ], 'var');
    }
}


只需在listingToolbar开始标记下添加这一行,我就成功了

<listingToolbar name="listing_top">
 <exportButton name="export_button"/>

只需在listingToolbar开始标记下添加这一行,我就成功了

<listingToolbar name="listing_top">
 <exportButton name="export_button"/>

下面是一个默认类,它只导出管理网格中显示的数据,而不导出整个数据

<exportButton class="Magento\Ui\Component\ExportButton">

如果需要所有数据,请创建一个自定义导出按钮,用于导出所有数据

在显示管理网格的Ui组件文件中进行编辑

[vendor\u name]\[module\u name]\view\adminhtml\ui\u组件

添加此代码以将按钮添加到管理网格中

Ui ComponentFIleName.xml


进口
进口
次要的
*/*/输入数据
20
出口
出口
次要的
*/*/导出数据
30
现在创建一个导出或导入数据的文件。文件名必须与您在Ui组件文件中定义的相同

  <item name="url" xsi:type="string">*/*/exportdata</item>

  <item name="url" xsi:type="string">*/*/importdata</item>
*/*/exportdata
*/*/输入数据
文件路径必须如下所示

[vendor\u name]\[module\u name]\Controller\Adminhtml\[Controller\u name]\Exportdata.php

Exportdata.php


下面的
是一个默认类,它只导出管理网格中显示的数据,而不导出整个数据

<exportButton class="Magento\Ui\Component\ExportButton">

如果需要所有数据,请创建一个自定义导出按钮,用于导出所有数据

在显示管理网格的Ui组件文件中进行编辑

[vendor\u name]\[module\u name]\view\adminhtml\ui\u组件

添加此代码以将按钮添加到管理网格中

Ui ComponentFIleName.xml


进口
进口
次要的
*/*/输入数据
20
出口
出口
次要的
*/*/导出数据
30
现在创建一个导出或导入数据的文件。文件名必须与您在Ui组件文件中定义的相同

  <item name="url" xsi:type="string">*/*/exportdata</item>

  <item name="url" xsi:type="string">*/*/importdata</item>
*/*/exportdata
*/*/输入数据
文件路径必须如下所示

[vendor\u name]\[module\u name]\Controller\Adminhtml\[Controller\u name]\Exportdata.php

Exportdata.php


下面的
是一个默认类,它只导出管理网格中显示的数据,而不导出整个数据

在网格列中查找

并仅在ui contactus_grid.xml或任何其他文件中添加此代码

<exportButton class="Magento\Ui\Component\ExportButton" component="Magento_Ui/js/grid/export" displayArea="dataGridActions">
    <settings>
        <options>
            <option name="csv" xsi:type="array">
                <item name="value" xsi:type="string">csv</item>
                <item name="label" xsi:type="string" translate="true">CSV</item>
                <item name="url" xsi:type="string">mui/export/gridToCsv</item>
            </option>
            <option name="xml" xsi:type="array">
                <item name="value" xsi:type="string">xml</item>
                <item name="label" xsi:type="string" translate="true">Excel XML</item>
                <item name="url" xsi:type="string">mui/export/gridToXml</item>
            </option>
        </options>
    </settings>
</exportButton>