Я пытаюсь заблокировать блок ячеек в серии файлов Excel, защитить каждый файл и сохранить их в исходном месте. У меня есть код, работающий во всех отношениях, за исключением того, что блокировка столбцов лишает эти ячейки всего форматирования. Я не могу воссоздать формат вручную в пакете xlsx, потому что каждый из файлов немного отличается.
Я знаю, как выводить данные в Excel без форматирования с помощью XLConnect, но не могу заставить XLConnect блокировать ячейки/защищать книги. Поэтому я либо ищу помощь, используя XLConnect для блокировки ячеек, либо помогаю использовать xlsx для блокировки ячеек без перезаписи форматирования.
Вот мой текущий код (с использованием пакета xlsx):
wb <- loadWorkbook(file.path)
sheets <- getSheets(wb)
sh <- sheets[[1]]
lock <- CellStyle(wb, cellProtection = CellProtection(locked = TRUE))
rows <- getRows(sh, rowIndex = 9:50)
cells <- getCells(rows, colIndex = 5:6)
lapply(names(cells), function(ii) setCellStyle(cells[[ii]], lock))
.jcall(sh, "V", "protectSheet", "p@ssword")
saveWorkbook(wb, file.path)