Rのxlsxパッケージに関連するクエリがあります。パッケージ内の関数の大部分を使用する方法を知っており、これまで問題は発生していません。最初にコードを表示してから、質問をします。
#Code-Section1:
library(xlsx)
data1<-iris
data1<-data1[,c(5,1:4)]
wb <- createWorkbook()
sheet1 <- createSheet(wb, sheetName="Sheet1")
addDataFrame(data1, sheet1, startRow=1, startColumn=1,row.names=FALSE)
saveWorkbook(wb, file="test.xlsx")
rm(data1);rm(sheet1);rm(wb)
#Code-Section1-end:
この部分は、単に虹彩データセットを取得し、test.xlsxと呼ばれるExcelスプレッドシートのSheet1と呼ばれるシートに配置します。ここでExcelで、合計行を追加してスプレッドシートにさらにコンテンツを追加することにしました。したがって、Excelスプレッドシートの最後の2行は次のようになります。
virginica 5.9 3.0 5.1 1.8
876.5 458.6 563.7 179.9
私が行うもう1つのことは、行の合計からの各図のパーセンテージを含む4つの列をスプレッドシートに追加することです。次に、test.xlsxをRブックにロードします。いくつかのランダムな正規値を使用して、tempという新しいデータフレームを定義します。私の意図は、test.xlsxファイルの数値を更新して、行の合計とパーセンテージも後で変更されるようにすることです。更新されたスプレッドシートの最後の2行は、rnorm(150,5,1)値の出力に応じて異なるはずです。データフレームをtesta.xlsxという新しいスプレッドシートに保存します。値は更新されますが、たとえばセルの値が「= sum(b2:b151)」または「= b2 / b $ 152」であっても、何らかの理由で行の合計とパーセンテージは変更されません。
#Code-Section2:
temp <- data.frame(Sepal.Length=rnorm(150,5,1), Sepal.Width=rnorm(150,5,1), Petal.Length=rnorm(150,5,1), Petal.Width=rnorm(150,5,1))
wb<-loadWorkbook("test.xlsx")
f<-getSheets(wb)[[1]]
addDataFrame(temp, sheet=f, startRow=2, startColumn=2,row.names=FALSE,col.names=FALSE)
saveWorkbook(wb, file="testa.xlsx")
#Code-Section2-end:
したがって、私の質問は、ワークブックをロードし、数式を含むセルが後で更新されてから新しいExcelファイルに保存されるように図を更新するにはどうすればよいかということです。私はおそらく別の方法でそれを行うことができますが、それは私が行うことを気にしないより多くのステップを必要としますが、他のセルが変更されるように単に数字を更新することはとても便利です。繰り返しになりますが、私が行うすべての投稿と同様に、文法の間違いはご容赦ください。必要と思われる場合は、このメッセージを自由に変更してください。