我有 15 个小标题要导出到单个 XLSX 工作簿,每个集合的 sheetName 与小标题对象的名称相同。要导出单个 tibble,这很好用:
library(xlsx)
my_tibble1 %>%
write.xlsx("output_filename.xlsx",
sheetName = "my_tibble1",
append = TRUE)
然而,这些 tibbles 的数量已经足够多,因此为每个 tibbles 写出所有这些都非常耗时。所以,我写了一个函数:
output_expediter <- function(df, output_filename) {
write.xlsx(df,
output_filename,
sheetName = deparse(substitute(df)),
append = TRUE)
此函数成功地将 tibble 写入输出工作簿中的新工作表,但 sheetName 始终是单个句点(“。”)。
用于小写字母的所有变量名称都仅限于小写字符和下划线,并且它们的长度都是 31 个或更少的字符,所以我认为它们中的任何一个都不会违反 XLSX 格式约定。在 R 控制台中,运行:
deparse(substitute(my_tibble1))
按预期产生“my_tibble1”。
为什么会发生这种情况的任何想法?除了输入每张纸的名称之外,还有什么可能的解决方法吗?