Skip to content

Instantly share code, notes, and snippets.

@shishircse06
Created March 28, 2019 11:12
Show Gist options
  • Save shishircse06/9a3b599ab45489a52f06d86d088733d0 to your computer and use it in GitHub Desktop.
Save shishircse06/9a3b599ab45489a52f06d86d088733d0 to your computer and use it in GitHub Desktop.
Magento 2 custom order export download as csv
<?php
header("Content-type: application/csv");
$timestamp = date('d-m-Y'); //$timestamp takes the current time
$myFile = "order_export_".$timestamp.".csv"; // add timestamp to the file name
header("Content-Disposition: attachment; filename=".$myFile);
$fp = fopen('php://output', 'w');
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$orderData = getOrderCollection();
foreach ($orderData as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
function getOrderCollection()
{
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$order = $objectManager->create('Magento\Sales\Model\Order')->getCollection();
$orderData = [];
$orderData[] = ['Order Id', 'Purchase Point', 'Status', 'Base Subtotal','Base Grand Total', 'Order date', 'Total refund',
'Customer firstname', 'Customer lastname', 'Customer email','Shipping Amount','Shipping Method', 'Shipping Firstname', 'Shipping lastname', 'Shipping email', 'Shipping Telephone','Shipping Street','Shipping City','Shipping State', 'Shipping Postcode', 'Shipping Country','Billing Firstname', 'Billing Lastname', 'Billing Email','Billing Telephone', 'Billing Street', 'Billing City','Billing State', 'Billing Postcode', 'Billing Country', 'Billing Company'];
foreach($order as $_order)
{
// echo '<pre>';print_r($_order->getData());
// die();
$orderDat = [];
$order = $_order->getData();
$orderDat[] = $order['entity_id'];
$orderDat[] = $order['store_name'];
$orderDat[] = $order['status'];
$orderDat[] = $order['base_subtotal'];
$orderDat[] = $order['base_grand_total'];
$orderDat[] = $order['created_at'];
$orderDat[] = $order['base_total_refunded'];
$orderDat[] = $order['customer_firstname'];
$orderDat[] = $order['customer_lastname'];
$orderDat[] = $order['customer_email'];
// $orderItems = $_order->getAllItems();
// foreach($orderItems as $item)
// {
// $orderData[$_order->getId()][$item->getId()]['item_name'] = $item->getName();
// }
$orderDat[] = $_order->getShippingAmount();
$orderDat[] = $_order->getShippingDescription();
$shipping_address = $_order->getShippingAddress()->getData();
$orderDat[] = $shipping_address['firstname'];
$orderDat[] = $shipping_address['lastname'];
$orderDat[] = $shipping_address['email'];
$orderDat[] = $shipping_address['telephone'];
$orderDat[] = $shipping_address['street'];
$orderDat[] = $shipping_address['city'];
$orderDat[] = $shipping_address['region'];
$orderDat[] = $shipping_address['postcode'];
$orderDat[] = $shipping_address['country_id'];
$billing_address = $_order->getBillingAddress()->getData();
$orderDat[] = $billing_address['firstname'];
$orderDat[] = $billing_address['lastname'];
$orderDat[] = $billing_address['email'];
$orderDat[] = $billing_address['telephone'];
$orderDat[] = $billing_address['street'];
$orderDat[] = $billing_address['city'];
$orderDat[] = $billing_address['region'];
$orderDat[] = $billing_address['postcode'];
$orderDat[] = $billing_address['country_id'];
$orderDat[] = $billing_address['company'];
$orderData[] = $orderDat;
}
return $orderData;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment