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

在R中操作工作目录文件格式:xlsb转xlsx实现方案

在无法安装readxlsb包的情况下,如何在R中处理多工作表xlsb文件?

问题背景

我需要在R中导入一个包含多工作表的xlsb文件,往常会用readxlsb包来完成,但学校/大学的电脑无法安装这个包。

我发现可以手动将xlsb格式转为xlsx,再用readxl::read_excel函数导入,但我想知道:能不能通过R的system()命令直接在R环境内完成格式转换,之后再用readxl包导入?

举个例子,我知道在R中可以这样删除工作目录里的文件:

a = data.frame(a = rnorm(100,100,100), b = rnorm(100,100,100))
write.csv(a, "Test.csv")

wd <- getwd()
file_path <- file.path(wd, "Test.csv")

file.remove(file_path)

那有没有类似的方法可以转换工作目录中文件的格式?

编辑:替代方法(受Quinten回答启发)

后来我尝试用openxlsx包实现xlsb与xlsx的格式互转,代码如下:

install.packages("openxlsx")
install.packages("readxl")
library(openxlsx)
library(readxl)


a <- data.frame(a = rnorm(100, 100, 100), b = rnorm(100, 100, 100))

write.csv(a, "Test.csv")

data <- read.csv("Test.csv")
write.xlsx(data, "Test.xlsx")

convert_to_xlsb <- function(xlsx_file, xlsb_file) {
  wb <- loadWorkbook(xlsx_file)
  saveWorkbook(wb, xlsb_file, overwrite = TRUE)
}

convert_to_xlsb("Test.xlsx", "Test.xlsb")

convert_xlsb_to_xlsx <- function(xlsb_file, xlsx_file) {
  wb <- loadWorkbook(xlsb_file)
  saveWorkbook(wb, xlsx_file, overwrite = TRUE)
}

convert_xlsb_to_xlsx("Test.xlsb", "Test_converted.xlsx")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:37:45