如何在R中用dplyr和stringr实现行内值换行并导出Excel?
解决方法
你的数据框中目标单元格已经自带\n换行符,这正是Excel可识别的单元格内换行标记。如果之前为适配gt显示把\n替换成了<br>,可以用dplyr+stringr还原回原始换行符:
library(dplyr) library(stringr) # 还原换行符(仅针对曾替换为<br>的情况) data_processed <- data %>% mutate(B = str_replace_all(B, "<br>", "\n"))
如果是未经过gt修改的原始数据,则无需额外处理,直接导出即可。关键是导出xlsx时,要使用支持单元格自动换行设置的包,比如openxlsx:
library(openxlsx) # 创建工作簿并添加工作表 wb <- createWorkbook() addWorksheet(wb, "Sheet1") # 写入数据并开启单元格自动换行 writeData(wb, "Sheet1", data_processed, wrapText = TRUE) # 保存文件 saveWorkbook(wb, "output.xlsx", overwrite = TRUE)
导出后的Excel文件中,目标单元格的内容会自动换行显示,完全符合你“不新增行”的需求。
内容的提问来源于stack exchange,提问作者Golem
相关产品推荐
相关产品推荐

