在R中为多个Excel(.xlsx)工作表添加边框?

fykwrbwg  于 2023-10-21  发布在  其他
关注(0)|答案(1)|浏览(148)

我有多个嵌入式框架,我把它放到一个列表中,然后导出到Excel(.xlsx)。

  1. library(openxlsx)
  2. listas <- list('Banco geral fevereiro' = dados,
  3. 'Gestações duplas ou triplas' = duplas_triplas,
  4. 'Duplicidade do nome da mãe' = dupl_nomae,
  5. 'menos22s mais1500g' = menos22s_mais1500g,
  6. '22a27s mais2000g' = e22a27s_mais2000g,
  7. '28a31s mais2700g' = e28a31s_mais2700g,
  8. 'Mês início PN x n° de consulta' = mes_prenat,
  9. 'n° consultas PN branco ou ign' = pn_ign,
  10. 'Mês de inicio PN em branco ign' = mes_pn_ign,
  11. 'Tipo de parto em branco' = tp_parto,
  12. 'Tipo de gravidez em branco' = tp_grav,
  13. 'Duração da gestação não informa' = sem_gest,
  14. "Apgar 1 e 5 em branco" = apgar,
  15. 'Escolaridade da mãe n informada' = escmae,
  16. 'Cesarea assistida por enfermeir' = ces_enf,
  17. 'Parto assistido em branco' = parto_ass,
  18. 'Número de filhos > 13' = fil_13)
  19. geral <- openxlsx::write.xlsx(listas , file = str_c( "Críticas de Setembro_", format( now(), format = "%d-%m-%Y" ), ".xlsx" ), na = "" )

我把它放在一个函数里。无论如何,我想像我已经做的那样导出多个工作表的文件,但我想将数据集中在每列中,并为所有行添加边框。这可能吗?

a64a0gku

a64a0gku1#

这里有一种方法,我们可以做到这一点:使用purrr包中的walk2函数,我们对listas中的每个子帧进行了遍历,
1.添加一个名为.x(列表中的名称)的新工作表。
1.将该结构写入工作表。
1.计算该数组中的行数。
1.将先前定义的style应用于该框架中的所有单元格。

  1. library(openxlsx)
  2. library(purrr)
  3. library(ggplot2) # diamonds dataset
  4. # style for borders
  5. style <- createStyle(border = "TopBottomLeftRight", halign = "center", valign = "center")
  6. # fake list
  7. listas <- list(
  8. 'Banco geral fevereiro' = mtcars,
  9. 'Gestações duplas ou triplas' = iris,
  10. 'Duplicidade do nome da mãe' = diamonds
  11. )
  12. # my workbook
  13. my_wb <- createWorkbook()
  14. walk2(names(listas), listas, ~{
  15. addWorksheet(my_wb, .x)
  16. writeData(my_wb, .x, .y)
  17. nr <- nrow(.y)
  18. addStyle(my_wb, .x, style, rows = 1:nr+1, cols = 1:ncol(.y), gridExpand = TRUE)
  19. })
  20. saveWorkbook(my_wb, "my_file.xlsx", overwrite = TRUE)

展开查看全部

相关问题