View source: R/class-workbook-wrappers.R
| wb_protect | R Documentation |
Protect or unprotect a workbook from modifications by the user in the graphical user interface. Replaces an existing protection. While passwords can be unicode characters, spreadsheet software is often unable to process these. Therefore using ascii characters is recommended.
wb_protect(
wb,
protect = TRUE,
password = NULL,
lock_structure = FALSE,
lock_windows = FALSE,
type = 1,
file_sharing = FALSE,
username = unname(Sys.info()["user"]),
read_only_recommended = FALSE,
...
)
wb |
A Workbook object |
protect |
Whether to protect or unprotect the sheet (default |
password |
(optional) password required to unprotect the workbook |
lock_structure |
Whether the workbook structure should be locked |
lock_windows |
Whether the window position of the spreadsheet should be locked |
type |
Lock type (see Details) |
file_sharing |
Whether to enable a popup requesting the unlock password is prompted |
username |
The username for the |
read_only_recommended |
Whether or not a post unlock message appears stating that the workbook is recommended to be opened in read-only mode. |
... |
additional arguments |
This protection only adds XML strings to the workbook. It will not encrypt
the file. For a full file encryption have a look at the msoc package.
If the openssl package is installed, a SHA based password hash will be
used. The legacy implementation not using openssl is prune to collisions.
Lock types:
1 xlsx with password (default)
2 xlsx recommends read-only
4 xlsx enforces read-only
8 xlsx is locked for annotation
The cryptographic hashing implementation used here has not been independently reviewed for security. It should not be used for production-level security or sensitive data without formal auditing.
wb_protect_worksheet
wb <- wb_workbook()
wb$add_worksheet("S1")
wb_protect(wb, protect = TRUE, password = "Password", lock_structure = TRUE)
# Remove the protection
wb_protect(wb, protect = FALSE)
wb <- wb_protect(
wb,
protect = TRUE,
password = "Password",
lock_structure = TRUE,
type = 2L,
file_sharing = TRUE,
username = "Test",
read_only_recommended = TRUE
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.