I had a similar issue.
Here's my working browser profile config lines.
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.helperApps.alwaysAsk.force", False);
profile.set_preference("browser.download.dir", 'Desktop')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
driver = webdriver.Firefox(firefox_profile=profile)
In my setup the browser would normally prompt he user to save or download upon page load. With this setup it just automatically downloads. One thing to keep in mind is how you're creating the spreadsheet. In my case the PHPExcel_IOFactory library is creating it as openxmlformats-officedocument.spreadsheetml.sheet with these lines.
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
PHPExcel_IOFactory::createWriter($new_excel_object, 'Excel2007');
So it's possible the file type you're trying to download doesn't match it's expected type.