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

R通过download.file下载xlsx后调用read_xlsx报zip无法打开的解决问询

问题修复方案

根因说明

当前使用的是Google Sheets的编辑页面URL,而非xlsx格式的导出直链,下载得到的实际是HTML网页文件,无法被read_xlsx识别,与download.file的写入模式没有关联。

无额外依赖实现代码

仅修改URL为导出格式、添加重定向跟随配置即可,除读取必需的readxl外无额外依赖:

# 提前创建存储目录避免路径不存在报错
if (!dir.exists("./dat")) dir.create("./dat")

# 替换为xlsx导出直链,保留原文件ID、工作表gid和资源校验key
my_export_url <- "https://docs.google.com/spreadsheets/d/0Bw4a10rhk2QqaTZkUmQwaXU4aEE/export?format=xlsx&gid=1944035140&resourcekey=0-RQa9gRpFX0x3z5bSJGn0Dg"

# 配置libcurl方法跟随重定向,wb模式保证二进制文件写入正确
download.file(url = my_export_url, destfile = "./dat/df.xlsx", method = "libcurl", mode = "wb")

# 读取文件
library(readxl)
df <- read_xlsx("./dat/df.xlsx")

注意事项

  • 若表格为非公开资源,需要先将表格权限设置为「知道链接的所有人可查看」才能正常导出
  • 若需要读取私有表格且不愿公开权限,可引入轻量包googlesheets4完成身份验证后直接读取,无需手动下载文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:09:01