【问题标题】:Format entire data frame with the same cell style using xlsx (R package)使用 xlsx(R 包)以相同的单元格样式格式化整个数据框
【发布时间】:2014-08-31 04:05:12
【问题描述】:

我有一个列数可变的数据框,我想使用 xlsx 以相同的单元格样式格式化整个数据框。我已经创建了单元格样式:

pct <- CellStyle(soccer, dataFormat=DataFormat("0.0%"))

但是当我尝试在 addDataFrame 中设置 colStyle 时,我不确定如何创建与数据框的列数相同长度的 pct 列表。我尝试过这样的事情:

addDataFrame(x = df, sheet = my.sheet, startRow = i, colStyle=rep(pct, length(df)))

但它不起作用,因为我知道每个元素必须有一个与列号相对应的名称。

【问题讨论】:

    标签: r


    【解决方案1】:

    我有同样的问题;你必须创建一个CellStyle 对象的列表,它会是这样的(假设 df 是一个data.frame 对象):

    pct <- CellStyle(soccer, dataFormat=DataFormat("0.0%"))
    
    dfColIndex <- rep(list(pct), dim(df)[2]) 
    names(dfColIndex) <- seq(1, dim(df)[2], by = 1)
    
    addDataFrame(x = df, sheet = my.sheet, startRow = i, colStyle= dfColIndex)
    

    我用列号命名了列表元素,即使从帮助页面看起来不是强制性的(但没有它们,它对我不起作用)。

    我提供的代码是一个简短的版本

     dfColIndex <- list("1" = pct, 
                        "2" = pct, 
                        "3" = pct, 
                        ... # and so on, for every column of you dataframe)
    

    我在this blog找到了一个关于编写 xlsx 文件的有用示例

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 2018-02-28
      • 1970-01-01
      • 2019-11-14
      • 2016-12-16
      • 2022-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多