openxlsx (version 4.1.4)

setColWidths: Set worksheet column widths

Description

Set worksheet column widths to specific width or "auto".

Usage

setColWidths(
  wb,
  sheet,
  cols,
  widths = 8.43,
  hidden = rep(FALSE, length(cols)),
  ignoreMergedCells = FALSE
)

Arguments

wb

A workbook object

sheet

A name or index of a worksheet

cols

Indices of cols to set width

widths

widths to set cols to specified in Excel column width units or "auto" for automatic sizing. The widths argument is recycled to the length of cols.

hidden

Logical vector. If TRUE the column is hidden.

ignoreMergedCells

Ignore any cells that have been merged with other cells in the calculation of "auto" column widths.

Details

The global min and max column width for "auto" columns is set by (default values show):

  • options("openxlsx.minWidth" = 3)

  • options("openxlsx.maxWidth" = 250) ## This is the maximum width allowed in Excel

NOTE: The calculation of column widths can be slow for large worksheets.

See Also

removeColWidths

Examples

Run this code
# NOT RUN {
## Create a new workbook
wb <- createWorkbook()

## Add a worksheet
addWorksheet(wb, "Sheet 1") 


## set col widths
setColWidths(wb, 1, cols = c(1,4,6,7,9), widths = c(16,15,12,18,33))

## auto columns
addWorksheet(wb, "Sheet 2")
writeData(wb, sheet = 2, x = iris)
setColWidths(wb, sheet = 2, cols = 1:5, widths = "auto")
  
## Save workbook
# }
# NOT RUN {
saveWorkbook(wb, "setColWidthsExample.xlsx", overwrite = TRUE)
# }
# NOT RUN {
# }

Run the code above in your browser using DataCamp Workspace