This function tries to open a Microsoft Excel (xls/xlsx) file or an openxlsx Workbook with the proper application, in a portable manner.

In Windows (c) and Mac (c), it uses system default handlers, given the file type.

In Linux it searches (via which) for available xls/xlsx reader applications (unless options('openxlsx.excelApp') is set to the app bin path), and if it finds anything, sets options('openxlsx.excelApp') to the program choosen by the user via a menu (if many are present, otherwise it will set the only available). Currently searched for apps are Libreoffice/Openoffice (soffice bin), Gnumeric (gnumeric) and Calligra Sheets (calligrasheets).

openXL(file=NULL)

Arguments

file

path to the Excel (xls/xlsx) file or Workbook object.

Author

Luca Braglia

Examples

# file example example(writeData)
#> #> writDt> ## See formatting vignette for further examples. #> writDt> #> writDt> ## Options for default styling (These are the defaults) #> writDt> options("openxlsx.borderColour" = "black") #> #> writDt> options("openxlsx.borderStyle" = "thin") #> #> writDt> options("openxlsx.dateFormat" = "mm/dd/yyyy") #> #> writDt> options("openxlsx.datetimeFormat" = "yyyy-mm-dd hh:mm:ss") #> #> writDt> options("openxlsx.numFmt" = NULL) #> #> writDt> ## Change the default border colour to #4F81BD #> writDt> options("openxlsx.borderColour" = "#4F81BD") #> #> writDt> ##################################################################################### #> writDt> ## Create Workbook object and add worksheets #> writDt> wb <- createWorkbook() #> #> writDt> ## Add worksheets #> writDt> addWorksheet(wb, "Cars") #> #> writDt> addWorksheet(wb, "Formula") #> #> writDt> x <- mtcars[1:6, ] #> #> writDt> writeData(wb, "Cars", x, startCol = 2, startRow = 3, rowNames = TRUE) #> #> writDt> ##################################################################################### #> writDt> ## Bordering #> writDt> #> writDt> writeData(wb, "Cars", x, #> writDt+ rowNames = TRUE, startCol = "O", startRow = 3, #> writDt+ borders = "surrounding", borderColour = "black" #> writDt+ ) ## black border #> #> writDt> writeData(wb, "Cars", x, #> writDt+ rowNames = TRUE, #> writDt+ startCol = 2, startRow = 12, borders = "columns" #> writDt+ ) #> #> writDt> writeData(wb, "Cars", x, #> writDt+ rowNames = TRUE, #> writDt+ startCol = "O", startRow = 12, borders = "rows" #> writDt+ ) #> #> writDt> ##################################################################################### #> writDt> ## Header Styles #> writDt> #> writDt> hs1 <- createStyle( #> writDt+ fgFill = "#DCE6F1", halign = "CENTER", textDecoration = "italic", #> writDt+ border = "Bottom" #> writDt+ ) #> #> writDt> writeData(wb, "Cars", x, #> writDt+ colNames = TRUE, rowNames = TRUE, startCol = "B", #> writDt+ startRow = 23, borders = "rows", headerStyle = hs1, borderStyle = "dashed" #> writDt+ ) #> #> writDt> hs2 <- createStyle( #> writDt+ fontColour = "#ffffff", fgFill = "#4F80BD", #> writDt+ halign = "center", valign = "center", textDecoration = "bold", #> writDt+ border = "TopBottomLeftRight" #> writDt+ ) #> #> writDt> writeData(wb, "Cars", x, #> writDt+ colNames = TRUE, rowNames = TRUE, #> writDt+ startCol = "O", startRow = 23, borders = "columns", headerStyle = hs2 #> writDt+ ) #> #> writDt> ##################################################################################### #> writDt> ## Hyperlinks #> writDt> ## - vectors/columns with class 'hyperlink' are written as hyperlinks' #> writDt> #> writDt> v <- rep("https://CRAN.R-project.org/", 4) #> #> writDt> names(v) <- paste0("Hyperlink", 1:4) # Optional: names will be used as display text #> #> writDt> class(v) <- "hyperlink" #> #> writDt> writeData(wb, "Cars", x = v, xy = c("B", 32)) #> #> writDt> ##################################################################################### #> writDt> ## Formulas #> writDt> ## - vectors/columns with class 'formula' are written as formulas' #> writDt> #> writDt> df <- data.frame( #> writDt+ x = 1:3, y = 1:3, #> writDt+ z = paste0(paste0("A", 1:3 + 1L), paste0("B", 1:3 + 1L), sep = " + "), #> writDt+ stringsAsFactors = FALSE #> writDt+ ) #> #> writDt> class(df$z) <- c(class(df$z), "formula") #> #> writDt> writeData(wb, sheet = "Formula", x = df) #> #> writDt> ##################################################################################### #> writDt> ## Save workbook #> writDt> ## Open in excel without saving file: openXL(wb) #> writDt> ## Not run: #> writDt> ##D saveWorkbook(wb, "writeDataExample.xlsx", overwrite = TRUE) #> writDt> ## End(Not run) #> writDt> #> writDt> #> writDt>
# openXL("writeDataExample.xlsx") # (not yet saved) Workbook example wb <- createWorkbook() x <- mtcars[1:6, ] addWorksheet(wb, "Cars") writeData(wb, "Cars", x, startCol = 2, startRow = 3, rowNames = TRUE) # openXL(wb)