R语言使用openxlsx读取Excel新增工作表时如何保留原表格式
R语言openxlsx保留原Excel格式新增工作表的方法
openxlsx::read.xlsx() 默认仅提取工作表内的单元格数值/文本内容,不会读取样式、单元格格式、冻结窗格、条件格式等元配置,因此如果采用「读数据→新建工作簿→写回数据」的操作逻辑,必然会丢失原工作表的所有格式。
要保留原有格式同时新增工作表,需直接操作完整的工作簿对象,操作步骤如下:
- 第一步:用
loadWorkbook()加载完整Excel文件,该函数会完整保留原文件所有工作表和格式配置# 加载openxlsx包 library(openxlsx) # 加载原Excel文件,所有格式会同步保留到wb对象中 wb <- loadWorkbook("你的原文件路径.xlsx") - 第二步:在加载的工作簿对象上直接新增工作表
addWorksheet(wb, sheetName = "你要新增的工作表名称") - 第三步:(可选)向新增工作表写入数据
# df为你要写入新工作表的数据集 writeData(wb, sheet = "你要新增的工作表名称", x = df) - 第四步:保存修改后的工作簿,可选择覆盖原文件或另存为新文件
# overwrite设为TRUE可直接覆盖原文件,设为FALSE时如果路径已存在会报错 saveWorkbook(wb, file = "你的保存路径.xlsx", overwrite = TRUE)
如果你需要读取原有工作表的数据做后续处理,可以在加载工作簿后调用
read.xlsx(wb, sheet = 1)读取数据,该操作仅提取数值,不会修改wb对象中存储的原格式配置,完全不影响原工作表的格式保留。
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

