Ich versuche, einen Block von Zellen in einer Reihe von Excel-Dateien zu sperren, jede Datei zu schützen und sie an ihrem ursprünglichen Speicherort zu speichern. Ich habe den Code in jeder Hinsicht funktioniert, außer dass das Sperren der Spalten diese Zellen aller Formatierung streift. Ich kann das Format nicht manuell innerhalb des xlsx-Pakets neu erstellen, da sich jede der Dateien geringfügig unterscheidet.Bestimmte Zellen in einer Excel-Datei von R sperren, während die Formatierung erhalten bleibt
Ich weiß, wie Sie Daten in Excel ohne Formatierung mit XLConnect ausgeben, aber ich kann XLConnect nicht erhalten, um Zellen zu sperren/Arbeitsmappen zu schützen. Also suche ich entweder Hilfe mit XLConnect, um die Zellen zu sperren, oder Hilfe xlsx, um die Zellen zu sperren, ohne die Formatierung zu überschreiben.
Hier ist meine aktuellen Code (xlsx-Paket mit):
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", "[email protected]")
saveWorkbook(wb, file.path)