11

R データ フレームを Excel に書き込もうとしていますが、Excel の数式やデータ検証値を持つセル/列を追加したいと考えています (たとえば、Excel の [データ/検証] メニューを使用して、許容値のドロップダウン リストを提供します)。細胞)

私は R パッケージを見てきました: xlsx、XLConnect、openxlsx。これらはセルの書き込みには適していますが、数式データ検証設定には適していません。

現在、AppleScript (Mac の場合) または VBA ソリューションを使用して xlsx ファイルを後処理する必要があると考えています。ロジックをプログラム間で分割する必要がないように、可能であればすべて R で実行したいと考えています。

2 つのうち、セルのデータ検証設定を記述すること (Excel 数式を記述することと比較して) の方が重要です。ユース ケースは、R データ フレームを Excel に書き込み、修正のために空の列を含めることです。空の列については、その列の許容値 (「はい」/「いいえ」など) のドロップダウン リストが必要です。

前もって感謝します。

4

2 に答える 2

12

次の例は、ドロップダウン リストを Excel セルに追加する方法を示しています。

# Libraries
library(openxlsx)

# Create workbook
wb = createWorkbook()

# Add worksheet "Customers" to the workbook
addWorksheet(wb, "Customers")

# Create Customers dataframe
customers_df = data.frame("Name" = c("Alex", "Kate", "Mary"), "Gender" = 
c("male", "female", "female"))

# Add Customers dataframe to the sheet "Customers"
writeData(wb, sheet = "Customers", x = customers_df, startCol = 1)

# Add worksheet "Drop-down values" to the workbook
addWorksheet(wb, "Drop-down values")

# Create drop-down values dataframe
gender_values_df = data.frame("Gender" = c("male", "female"))

# Add drop-down values dataframe to the sheet "Drop-down values"
writeData(wb, sheet = "Drop-down values", x = gender_values_df, startCol = 
1)

# Add drop-downs to the column Gender on the worksheet "Customers"
dataValidation(wb, "Customers", col = 2, rows = 2:4, type = "list", value = 
"'Drop-down values'!$A$2:$A$3")

# Save workbook
saveWorkbook(wb, "D:/Customers.xlsx", overwrite = TRUE)

詳細については、こちらをご覧ください: dataValidation

于 2019-03-15T21:51:12.677 に答える
0

R と Excel の間を行ったり来たりしている人として、この場合は Excel にワークフローを任せることをお勧めします。R が作成するファイルからデータをインポートする Excel マクロを作成するか、RExcel (Excel アドイン) を使用して、Excel から R セッションを対話的に制御できるようにします。

于 2015-05-04T14:28:33.163 に答える