簡體   English   中英

通過 R 保持保護(或重新保護)導入的 Excel 工作簿的某些列

[英]Keep protection(or re-protect) certain columns of imported Excel workbook through R

我有一個包含兩張工作表的 Excel 工作簿。 在第一個工作表上,B 和 C 列具有受編輯保護的公式(指第二個仍為空的工作表)。 現在我通過 R 導入了這個工作簿,將我的數據添加到第二個工作表並保存了工作簿。

library(openxlsx)
wb <- loadWorkbook('Tables.xlsx')
writeData(wb, 'Sheet2', mydf)
saveWorkbook(wb, New_tables.xlsx')

但是,保存工作簿后,工作表 1 的 B 列和 C 列不再受保護。 是否有任何特定功能可以添加以保護(僅)B 列和 C 列免受工作表 1 的編輯?

謝謝!

您可以使用一個protectWorksheet函數。

您將需要createStyle設置locked = TRUEFALSE然后您可以控制要鎖定以防止編輯的列和行。 例如:

library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, "NEW")
writeData(wb, "NEW", mtcars)
addStyle(wb, "NEW", rows = 1:nrow(mtcars), cols = 1, gridExpand = TRUE, style = createStyle(locked = FALSE))
protectWorksheet(wb, "NEW", protect = TRUE)
saveWorkbook(wb, "New_tables.xlsx", overwrite = TRUE)

這會將第一列鎖定到填充數據的行並鎖定其他所有地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM