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

使用openxlsx2包导入Excel时疑似Bug问题咨询

关于openxlsx2中wb_load仅导入指定工作表的问题解答

这不是Bug,是openxlsx2::wb_load和openxlsx::read.xlsx的设计逻辑差异导致的:

  • openxlsx::read.xlsx直接读取指定工作表为数据框,不会保留工作簿的其他结构;
  • openxlsx2::wb_load的核心是加载完整的工作簿对象(包括所有工作表的结构、样式等),其中sheet参数的作用是仅加载指定工作表的数据,而非删除其他工作表的结构。所以你会看到其他工作表仍存在,但数据被清空。

解决方法

如果需要得到只包含指定工作表的工作簿对象,可以在加载后手动移除不需要的工作表:

# 加载工作簿,仅导入第一个工作表的数据
wb <- openxlsx2::wb_load("example.xlsx", sheet = 1)
# 按名称移除其他工作表
wb$remove_sheets(sheets = c("FR", "UK"))
# 也可按索引移除:wb$remove_sheets(sheets = 2:3)

如果只是想获取指定工作表的数据,直接用wb_to_df更高效:

df <- openxlsx2::wb_to_df("example.xlsx", sheet = 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:37:36