使用 expss 包调整列宽

Posted

技术标签:

【中文标题】使用 expss 包调整列宽【英文标题】:Adjusting Column Widths with expss Package 【发布时间】:2019-03-01 06:26:59 【问题描述】:

我经常使用expss 并发现它非常有用,但是,在某些情况下,我的列值是长字符串,不适合默认列宽。

例如,下图显示了需要加宽的列。 expss 中的哪些 htmlTables() 选项可用于加宽列?

【问题讨论】:

【参考方案1】:

有几种方法可以增加第一列的宽度。尝试 以下之一:

library(expss)
expss_output_viewer()

data(mtcars)
mtcars = apply_labels(mtcars,
                      mpg = "Miles/(US) gallon",
                      cyl = "Number of cylinders",
                      disp = "Displacement (cu.in.)",
                      hp = "Gross horsepower",
                      drat = "Rear axle ratio",
                      wt = "Weight (1000 lbs)",
                      qsec = "1/4 mile time",
                      vs = "Engine",
                      vs = c("V-engine" = 0,
                             "Straight engine" = 1),
                      am = "Transmission",
                      am = c("Automatic" = 0,
                             "Manual"=1),
                      gear = "Number of forward gears",
                      carb = "Number of carburetors"
)


# straightforward column width adjustment
calc_cro_cpct(mtcars, list(vs, am), list(total(), vs %nest% am)) %>%
    htmlTable(., css.cell = c("width: 250px", # first column width
                              rep("width: 50px", ncol(.) - 1)) # other columns width
    )

# row labels padding
calc_cro_cpct(mtcars, list(vs, am), list(total(), vs %nest% am)) %>%
    htmlTable(padding.rgroup = paste(rep(" ", 20), collapse = ""))

# disable row grouping
calc_cro_cpct(mtcars, list(vs, am), list(total(), vs %nest% am)) %>%
    htmlTable(row_groups = FALSE)

参数css.cellpadding.rgroup 记录在 htmlTable 包,expss 用于呈现 HTML 表格表示(参见 ?htmlTable::htmlTable)。

【讨论】:

以上是关于使用 expss 包调整列宽的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置excel的行高和行宽

XLSReadWriteII 行宽,列高怎么设置

excel小技巧之快速调整行高列宽 如何快速调整行高列宽

excel中如何快速设置每行每列的宽度

怎样根据内容自动调整excel表格的行高列宽?

fastreport中列宽固定 根据字段内容多少自动调整行高