Skip to content

Instantly share code, notes, and snippets.

@vkathirvel
Created August 27, 2015 14:34
Show Gist options
  • Save vkathirvel/2d626feafc193395e4da to your computer and use it in GitHub Desktop.
Save vkathirvel/2d626feafc193395e4da to your computer and use it in GitHub Desktop.
Saves a CSV file containing all customers' data
<?php
require_once('app/Mage.php');
umask(0);
Mage::app();
$customers = Mage::getModel('customer/customer')->getCollection();
$customers->addAttributeToSelect('*');
$customersArray[0] = array(
'entity_id',
'email',
'prefix',
'firstname',
'middlename',
'lastname',
'suffix',
'website_id',
'store_id',
'group_id',
'created_at',
'updated_at',
'is_active',
'is_subscribed',
'billing_firstname',
'billing_lastname',
'billing_company',
'billing_street_1',
'billing_street_2',
'billing_city',
'billing_region_id',
'billing_region',
'billing_postcode',
'billing_country_id',
'billing_telephone',
'shipping_firstname',
'shipping_lastname',
'shipping_company',
'shipping_street_1',
'shipping_street_2',
'shipping_city',
'shipping_region_id',
'shipping_region',
'shipping_postcode',
'shipping_country_id',
'shipping_telephone'
);
$i = 1;
foreach ($customers as $key => $customer) {
$customersArray[$i]['entity_id'] = $customer->getData('entity_id');
$customersArray[$i]['email'] = $customer->getData('email');
$customersArray[$i]['prefix'] = $customer->getData('prefix');
$customersArray[$i]['firstname'] = $customer->getData('firstname');
$customersArray[$i]['middlename'] = $customer->getData('middlename');
$customersArray[$i]['lastname'] = $customer->getData('lastname');
$customersArray[$i]['suffix'] = $customer->getData('suffix');
$customersArray[$i]['website_id'] = $customer->getData('website_id');
$customersArray[$i]['store_id'] = $customer->getData('store_id');
$customersArray[$i]['group_id'] = $customer->getData('group_id');
$customersArray[$i]['created_at'] = $customer->getData('created_at');
$customersArray[$i]['updated_at'] = $customer->getData('updated_at');
$customersArray[$i]['is_active'] = $customer->getData('is_active');
$subscriber = Mage::getModel('newsletter/subscriber')->loadByEmail($customersArray[$i]['email']);
$subscriberStatus = $subscriber->isSubscribed();
$customersArray[$i]['is_subscribed'] = ($subscriberStatus? 1 : 0);
if($customer->getDefaultBilling()) {
$billingAddress = Mage::getModel('customer/address')->load($customer->getDefaultBilling());
if($billingAddress->getId()) {
$customersArray[$i]['billing_firstname'] = $billingAddress->getData('firstname');
$customersArray[$i]['billing_lastname'] = $billingAddress->getData('lastname');
$customersArray[$i]['billing_company'] = $billingAddress->getData('company');
$customersArray[$i]['billing_street_1'] = $billingAddress->getStreet1();
$customersArray[$i]['billing_street_2'] = $billingAddress->getStreet2();
$customersArray[$i]['billing_city'] = $billingAddress->getData('city');
$customersArray[$i]['billing_region_id'] = $billingAddress->getData('region_id');
$customersArray[$i]['billing_region'] = $billingAddress->getData('region');
$customersArray[$i]['billing_postcode'] = $billingAddress->getData('postcode');
$customersArray[$i]['billing_country_id'] = $billingAddress->getData('country_id');
$customersArray[$i]['billing_telephone'] = $billingAddress->getData('telephone');
}
}
if($customer->getDefaultShipping()) {
$shippingAddress = Mage::getModel('customer/address')->load($customer->getDefaultShipping());
if($shippingAddress->getId()) {
$customersArray[$i]['shipping_firstname'] = $shippingAddress->getData('firstname');
$customersArray[$i]['shipping_lastname'] = $shippingAddress->getData('lastname');
$customersArray[$i]['shipping_company'] = $shippingAddress->getData('company');
$customersArray[$i]['shipping_street_1'] = $shippingAddress->getStreet1();
$customersArray[$i]['shipping_street_2'] = $shippingAddress->getStreet2();
$customersArray[$i]['shipping_city'] = $shippingAddress->getData('city');
$customersArray[$i]['shipping_region_id'] = $shippingAddress->getData('region_id');
$customersArray[$i]['shipping_region'] = $shippingAddress->getData('region');
$customersArray[$i]['shipping_postcode'] = $shippingAddress->getData('postcode');
$customersArray[$i]['shipping_country_id'] = $shippingAddress->getData('country_id');
$customersArray[$i]['shipping_telephone'] = $shippingAddress->getData('telephone');
}
}
$i++;
}
$file = fopen('customer_export.csv', 'w');
foreach ($customersArray as $customer) {
fputcsv($file, $customer);
}
fclose($file);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment