一連のExcelファイルでセルのブロックをロックし、各ファイルを保護して元の場所に保存しようとしています。私は、すべての書式のそれらのセルを列をロックすることを除いて、あらゆる方法で動作するコードを持っています。 xlsxパッケージ内で手動でフォーマットを再作成することはできません。それぞれのファイルが少し異なるからです。書式設定を維持しながら、特定のセルをRからExcelファイルにロックする
私はXLConnectを使用してフォーマットせずにExcelにデータを出力する方法を知っていますが、XLConnectをロックしてワークブックを保護することはできません。ですから、私は、XLConnectを使ってセルをロックダウンするか、xlsxを使って書式を上書きせずにセルをロックするのを助けてくれるのか探しています。私は私が最終的に持っているのxlsxとXLConnectの周りに行くことによって自分の答えを見つけたかもしれないと思う
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)