To return a downloadable file in a controller action, you have to send a file header in controller like that:
$fileName = 'mm_actioncodes_export_'.date("Ymd_His").'.csv'; $fp = fopen(Mage::getBaseDir('var') . DS .'export' . DS . $fileName, 'w'); fputcsv($fp, $codes, ';', '"'); fclose($fp); $this->_prepareDownloadResponse($fileName, array( 'type' => 'filename', 'value' => Mage::getBaseDir('var') . DS .'export' . DS . $fileName, //'rm' => true // can delete file after use )); return $this;