

このガイドでは、Magento の注文を CSV ファイルにエクスポートする方法を、Magento のバックエンドを使用した最も簡単な方法から、スクリプトを使用したより高度な方法まで、順を追って説明します。いずれにしても、最終的には注文グリッドからのすべてのデータを含むCSVファイルを得ることができます。
1. Magentoバックエンドからの注文のエクスポート
Magentoのバックエンドでは、Sales > Ordersに進みます。

続いて表示されるOrdersパネルには、デフォルトで以下の列が表示されています:
- ID
- 購入ポイント
- 購入日
- 請求先名
- 出荷先名
- 合計金額(基本
- 合計金額(購入金額)
- ステータス
- アクション
- 割り当てられたソース
- Braintree トランザクションソース
ここでは、エクスポートのドロップダウンをクリックし、CSVにチェックを入れることで、注文データをエクスポートすることができます。

「エクスポート」をクリックすると、生成されたCSVにはこのデフォルトビューのデータが含まれています。
2. カスタムデータを使ったプログラムによるオーダーのエクスポート
また、プログラムでOrdersグリッドに新しい列を追加し、Observerを実行してOrders CSVをエクスポートすることもできます。
vendor/magento/module-sales/view/adminhtml/ui_component/sales_order_grid.xml
に新しいカラムを作成します。
<column name="custom_product_name" class="Magento\Sales\Ui\Component\Listing\Column\Price">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">textRange</item>
<item name="visible" xsi:type="boolean">false</item>
<item name="label" xsi:type="string" translate="true">Custom Product Name</item>
</item>
</argument>
</column>
以下のアップグレードスキーマを実行して、sales_order_grid
テーブルに変更を加えます。
ALTER TABLE `sales_order_grid` ADD `custom_product_name` VARCHAR( 255 ) NOT NULL ;
注文の送信が成功したときにObserverを実行する
例えば、events.xml
で
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_submit_all_after">
<observer name="yourcompany_yourmodule_checkout_submit_all_after" instance="YourCompany\YourModule\Observer\ProcessOrder" />
</event>
</config>
そして、オブザーバーでは:
public function execute(\Magento\Framework\Event\Observer $observer)
{
$order = $observer->getOrder();
$quote = $observer->getQuote();
// Do whatever you want here
return $this;
}
「エクスポート」をクリックします。
3. 拡張機能を使った注文のエクスポート
Magento のデフォルトの注文エクスポートオプションはまだかなり制限されているので、エクステンションを使って仕事をしてもらうのが良い方法です。マーケットプレイスには様々なオーダーエクスポートエクステンションがあります (無料と有料の両方)。