4

フォーマットを変更せずに、Rを使用して特定のセルを編集/入力したいExcelワークブックがあります。

これまでのところ、 XLConnectパッケージを試してみましたが、探していることができるようですが、それを行う方法が見つかりませんでした。

問題に対する私の直接的なアプローチ:

wb <- loadWorkbook("file1.xls")
data1 <- readWorksheet(wb, "Sheet1", header=TRUE)

## adding a value to a particular cell:
data1[11,12] <- 3.2 

## rewriting old data:
writeWorksheet(wb, data1, "Sheet1")
saveWorkbook(wb, "new_file1.xls")

ただし、この方法では、新しいワークブックは以前の書式設定 (結合されたセル、数式など) をすべて失います。

残りのシートの書式設定を失うことなく、一部のセルの値を変更する方法はありますか?

4

3 に答える 3

9

R を使用して Excel を自動化する例を次に示します。

library(RDCOMClient)
xlApp <- COMCreate("Excel.Application")
wb    <- xlApp[["Workbooks"]]$Open("file.1.xls")
sheet <- wb$Worksheets("Sheet1")

# change the value of a single cell
cell  <- sheet$Cells(11,12)
cell[["Value"]] <- 3.1

# change the value of a range
range <- sheet$Range("A1:F1")
range[["Value"]] <- paste("Col",1:6,sep="-")

wb$Save()                  # save the workbook
wb$SaveAS("new.file.xls")  # save as a new workbook
xlApp$Quit()               # close Excel
于 2014-11-14T20:36:33.383 に答える
4

スタイル アクションを使用するとXLC$STYLE_ACTION.NONE、フォーマットを変更せずにデータを追加する必要があります。

data1 <- readWorksheetFromFile("file1.xls", "Sheet1")

## adding a value to a particular cell:
data1[11,12] <- 3.2 

## rewriting old data:
writeWorksheetToFile("file1.xls", data1, "Sheet1", styleAction = XLC$STYLE_ACTION.NONE)

コメントでこれを調べるよう提案してくれたMartinに感謝します。

于 2016-05-27T22:24:26.717 に答える