R download.file,下载excel文件无效

R download.file,下载excel文件无效,r,excel,R,Excel,我尝试使用download.file()下载excel文件 如果我使用浏览器直接转到链接,我可以毫无问题地下载文件 但是,使用download.file只下载损坏的文件,并出现Excel错误:“您试图打开的文件的格式与文件扩展名指定的格式不同。” 这是我的密码: url <- "http://obieebr.banrep.gov.co/analytics/saw.dll?Download&Format=excel2007&Extension=.xlsx&Bypass

我尝试使用download.file()下载excel文件

如果我使用浏览器直接转到链接,我可以毫无问题地下载文件

但是,使用download.file只下载损坏的文件,并出现Excel错误:“您试图打开的文件的格式与文件扩展名指定的格式不同。”

这是我的密码:

url <- "http://obieebr.banrep.gov.co/analytics/saw.dll?Download&Format=excel2007&Extension=.xlsx&BypassCache=true&path=%2Fshared%2fSeries%20Estad%c3%adsticas%2F1.%20Tasa%20Interbancaria%20%28TIB%29%2F1.1.TIB_Serie%20hist%C3%B3rica%20IQY&lang=es&NQUser=publico&NQPassword=publico&SyncOperation=1"
download.file(url, destfile = paste0(base_dir, "test.xls"), mode = "wb", method="libcurl")

url试试这个,它适合我:

download.file(url,destfile = "./second.xlsx",mode = "wb")

您尝试下载的文件不是excel文件。实际上,您获得的是一个html文件(尝试将文件扩展名更改为“.html”,然后在浏览器中打开)。因此,您的代码不是问题。

url
对象中有
扩展名=.xlsx
,而
destfile
.xls
。可能需要检查。@tictochoc感谢您的回复,是的,这是一个错误,
destfile
应该是
test.xlsx
。但是,正确下载该文件仍然不起作用。您现在遇到了什么错误?@luckying它下载了该文件,但如果我在Excel中打开该文件,则错误相同:“Excel无法打开文件,因为文件格式或文件扩展名无效。验证文件是否已损坏,以及文件扩展名是否与文件格式匹配“你能解释一下你的电话和OP已经试过的电话有什么不同吗?”?我知道,您省略了
方法
参数,并使用了一个可能不同的
destfile
,但为什么这应该起作用而OPs调用不起作用呢?@Paul Roub,谢谢您的解决方案。我试过了,但在我的电脑上,excel文件仍然损坏,打开excel文件对你有用吗?对不起,我只是为了可读性编辑了答案@Abxihek需要对此进行解释或讨论。要想弄清楚到底发生了什么,了解此解决方案所使用的操作系统将非常有用。wb的意思是“写入二进制”,它将输出视为非文本(二进制)或一个字节串。这样,就不会对底层excel工作簿数据进行任何处理。