Mac*_*471 7 r xlsx xlconnect openxlsx
我正在尝试将R数据框写入Excel并希望添加具有Excel公式和/或数据验证值的其他单元格/列(例如,使用Excel中的"数据/验证"菜单提供允许值的下拉列表细胞)
我看过R包:xlsx,XLConnect和openxlsx.这些非常适合编写单元格,但不适用于公式或数据验证设置.
我目前认为我不得不使用AppleScript(在Mac上)或VBA解决方案来处理xlsx文件.如果可能的话,我想在R中完成所有操作,因此逻辑不必跨程序分割.
在这两者中:为单元格编写数据验证设置(与编写Excel公式相比)更为重要.用例是将R数据框写入Excel并包含用于进行更正的空列.对于空列,我想要为该列提供可接受值的下拉列表(例如"是"/"否").
提前致谢.
下面的示例显示了如何向 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)
Run Code Online (Sandbox Code Playgroud)
可以在此处找到更多信息:dataValidation