使用 r xlsx 在 excel 文件中获取换行符/新行
get a line break / new line in excel file with r xlsx
我想在我的 excel 结果中换行,就像我进入单元格并按 Alt+Enter 那样
数据+代码
df <- data.frame(a="Funny\nNot",b="rofl\nlol",c="hihi\rh3h3")
xlsx::write.xlsx(df,file = "df.xlsx")
感谢@lukeA 删除名称。
当我对包含 "\n"
的单元格使用 wrap text
时。我得到了想要的结果。
这是我使用的代码:
wb <- xlsx::loadWorkbook("df.xlsx")
sheets <- xlsx::getSheets(wb)
sheet <- sheets[[1]] # get specific sheet
rows <- xlsx::getRows(sheet) # get rows
cells <- xlsx::getCells(rows) # get cells
values <- lapply(cells, xlsx::getCellValue) # extract the cell values
wrapStyle <- xlsx::CellStyle(wb) + xlsx::Alignment(horizontal=NULL, vertical=NULL, wrapText=T,
rotation=0, indent=0)
lapply(names(cells),function(c)if(values[[c]] %>% grepl("\n",.))xlsx::setCellStyle(cells[[c]],wrapStyle))
xlsx::saveWorkbook(wb,"dfWrap.xlsx")
使用包 xlsx
:
从列 a
中删除转义符 '\'
:
df <- data.frame(a="Funny\nNot",b="rofl\nlol",c="hihi\rh3h3")
library(xlsx)
创建工作簿和 sheet 个对象:
wb <- createWorkbook()
sheet <- createSheet(wb, sheetName="sheet1")
添加数据框:
addDataFrame(df, sheet)
从 wb/sheet 中获取第 2 行,B 列:
rows <- getRows(sheet, rowIndex = 2)
cell_b_2 <- getCells(rows, colIndex = 2)[[1]]
创建一个 CellStyle
在 Excel 中设置 Wrap Text
:
cs <- CellStyle(wb, alignment = Alignment(wrapText = TRUE))
将其应用于单元格:
setCellStyle(cell_b_2, cs)
保存工作簿:
saveWorkbook(wb, 'df.xlsx')
生成的工作簿如下所示:
我想在我的 excel 结果中换行,就像我进入单元格并按 Alt+Enter 那样
数据+代码
df <- data.frame(a="Funny\nNot",b="rofl\nlol",c="hihi\rh3h3")
xlsx::write.xlsx(df,file = "df.xlsx")
感谢@lukeA 删除名称。
当我对包含 "\n"
的单元格使用 wrap text
时。我得到了想要的结果。
这是我使用的代码:
wb <- xlsx::loadWorkbook("df.xlsx")
sheets <- xlsx::getSheets(wb)
sheet <- sheets[[1]] # get specific sheet
rows <- xlsx::getRows(sheet) # get rows
cells <- xlsx::getCells(rows) # get cells
values <- lapply(cells, xlsx::getCellValue) # extract the cell values
wrapStyle <- xlsx::CellStyle(wb) + xlsx::Alignment(horizontal=NULL, vertical=NULL, wrapText=T,
rotation=0, indent=0)
lapply(names(cells),function(c)if(values[[c]] %>% grepl("\n",.))xlsx::setCellStyle(cells[[c]],wrapStyle))
xlsx::saveWorkbook(wb,"dfWrap.xlsx")
使用包 xlsx
:
从列 a
中删除转义符 '\'
:
df <- data.frame(a="Funny\nNot",b="rofl\nlol",c="hihi\rh3h3")
library(xlsx)
创建工作簿和 sheet 个对象:
wb <- createWorkbook()
sheet <- createSheet(wb, sheetName="sheet1")
添加数据框:
addDataFrame(df, sheet)
从 wb/sheet 中获取第 2 行,B 列:
rows <- getRows(sheet, rowIndex = 2)
cell_b_2 <- getCells(rows, colIndex = 2)[[1]]
创建一个 CellStyle
在 Excel 中设置 Wrap Text
:
cs <- CellStyle(wb, alignment = Alignment(wrapText = TRUE))
将其应用于单元格:
setCellStyle(cell_b_2, cs)
保存工作簿:
saveWorkbook(wb, 'df.xlsx')
生成的工作簿如下所示: