To generate a downloadable CSV file of your ordered items in Magento, you may want to use the code below:


$orders = Mage::getModel(“sales/order”)->getCollection();
// prepare CSV header
$csv = ”;
$_columns = array(
“Order Id”,
“Product Name”,
“Sku”,
“Price”
);
$data = array();
// prepare CSV header…
foreach ($_columns as $column) {
$data[] = ‘”‘.$column.’”‘;
}
$csv .= implode(‘,’, $data).”\n”;
foreach ($orders as $order) {
$items = $order->getAllItems();
foreach ($items as $item) {
$loadProduct = Mage::getModel(‘catalog/product’)->load($item->getProductId());
//prepare csv contents
$data = array();
$data[] = $order->getId();
$data[] = $loadProduct['name'];
$data[] = $loadProduct['sku'];
$data[] = $loadProduct['price'];

$csv .= implode(‘,’, $data).”\n”;
//now $csv varaible has csv data as string
}
}

$this->_redirect(‘*/*/’);
$this->_prepareDownloadResponse(‘file.csv’, $csv, ‘text/csv’);