如何保存XLSX文件?
问题描述:
我试过了:如何保存XLSX文件?
setPreference("browser.helperApps.neverAsk.saveToDisk","application/xls;text/csv");
。
setPreference("browser.helperApps.alwaysAsk.force", false);
。
profile.set_preference("browser.helperApps.neverAsk.saveToDisk",application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
但Firefox总是询问我是否要打开该文件。它适用于XLS文件。
任何想法?
答
我有类似的问题。
这是我工作的浏览器配置文件配置行。
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)
在我的设置中,浏览器通常会提示用户在页面加载时保存或下载。有了这个设置,它只是自动下载。有一点需要记住的是你如何创建电子表格。在我的情况下,PHPExcel_IOFactory库使用这些行将其创建为openxmlformats-officedocument.spreadsheetml.sheet。
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
PHPExcel_IOFactory::createWriter($new_excel_object, 'Excel2007');
因此,您尝试下载的文件类型可能与预期类型不匹配。
删除我的答案,因为我刚刚意识到mime类型实际上是'应用程序/ vnd.openxmlformats-officedocument.spreadsheetml.sheet'你确实有。 – sircapsalot
谢谢,你的建议实际上是有道理的,我会尝试使用一些流来阅读文件,而不用点击,从url – filip
这绝对是最好的方式去做它。 – sircapsalot