gpt4 book ai didi

r - Openxlsx 保护工作表但允许输入值

转载 作者:行者123 更新时间:2023-12-04 19:55:51 26 4
gpt4 key购买 nike

我正在使用 Excel 模板从不同的人那里收集数据。为了最大限度地减少人们更改模板结构的机会,我想保护工作表,但仍然允许他们填写我想要的数据值。

我很高兴找到了 openxlsx 软件包的 fork 版本,其中包含一个用于执行此操作的函数 protectWorksheetLink 。但是当我使用该函数时,我无法调整该函数以便仍然可以填充值。

除了help file中的示例中的函数之外,我实际上没有MWE。 。如何调整示例以仍然允许填写值?可能吗?

wb <- createWorkbook()
addWorksheet(wb, "S1")
writeDataTable(wb, 1, x = iris[1:30,])
# Formatting cells / columns is allowed , but inserting / deleting columns is protected:
protectWorksheet(wb, "S1", protect = TRUE, lockFormattingCells = FALSE, lockFormattingColumns = FALSE, lockInsertingColumns = TRUE, lockDeletingColumns = TRUE)

saveWorkbook(wb, "pageSetupExample.xlsx", overwrite = TRUE)

最佳答案

感谢@Reinhold Kainhofer,您可以使用createStyle来控制它。

从github下载openxlsx包:https://github.com/kainhofer/openxlsx .

wb <- createWorkbook()
addWorksheet(wb, "S1")
writeDataTable(wb, 1, x = iris[1:30,])
# Formatting cells / columns is allowed , but inserting / deleting columns is protected:
protectWorksheet(wb, "S1", protect = TRUE, lockFormattingCells = FALSE, lockFormattingColumns = FALSE, lockInsertingColumns = TRUE, lockDeletingColumns = TRUE)

#This line allows specified cells to be unlocked so that users can enter values.
addStyle(wb, "S1", style = createStyle(locked = FALSE), rows = 1:10, cols = 1)

saveWorkbook(wb, "pageSetupExample.xlsx", overwrite = TRUE)

关于r - Openxlsx 保护工作表但允许输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56068262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com