You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中通过.aspx链接下载.xls文件,readxl读取时解析失败

解决readxl读取xls文件时的libxls解析错误

你遇到的libxls error: Unable to parse file错误,核心原因是你下载的file.xls根本不是真正的Excel文件——目标URL返回的是网页HTML内容,而非二进制的xls文件。

验证问题

你可以直接打开下载的file.xls,会看到里面是网页代码;也可以用R代码查看文件类型:

file.info("file.xls")

正确的解决方案

方案1:用rvest抓取网页表格数据

目标页面是数据展示网页,直接抓取页面内的表格即可:

# 安装并加载rvest包
install.packages("rvest")
library(rvest)

# 抓取网页内容
url <- "https://www.cepea.esalq.usp.br/br/indicador/series/boi-gordo.aspx?id=2"
page <- read_html(url)

# 提取表格(跳过前3行无关内容)
df <- page %>% 
  html_element("table") %>% 
  html_table(header = TRUE, skip = 3)

方案2:获取真实的Excel下载链接

如果网站提供Excel下载按钮,打开浏览器开发者工具(F12),找到下载按钮对应的href属性,获取真实的Excel文件URL,再用download.file下载。示例代码如下:

download.file("真实的Excel文件URL", "real_file.xls", mode = "wb")
df <- read_excel("real_file.xls", sheet = 1, skip = 3)

内容的提问来源于stack exchange,提问作者Rodrigo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:52:36