Learn R Programming

⚠️There's a newer version (0.6.5) of this package.Take me there.

xlsx

An R package to read, write, format Excel 2007 and Excel 97/2000/XP/2003 files

The package provides R functions to read, write, and format Excel files. It depends on Java, but this makes it available on most operating systems.

Install

Stable version from CRAN

install.packages('xlsx')

Or development version from GitHub

devtools::install_github('colearendt/xlsx')

Common Problems

This package depends on Java and the rJava package to make the connection between R and Java seamless. In order to use the xlsx package, you will need to:

  • Ensure you have a jdk (Java Development Kit, version >= 1.5) installed for your Operating System. More information can be found on Oracle's website

  • Ensure that the system environment variable JAVA_HOME is configured appropriately and points to your jdk of choice. Typically, this will be included in your PATH environment variable as well. Options and system environmental variables that are available from R can be seen with Sys.getenv()

  • Particularly on UNIX systems, if you continue experiencing issues, you may need to reconfigure R's support for Java on your system. From a terminal, use the command R CMD javareconf. You may need to run this as root or prepended with sudo to ensure it has appropriate permission.

More detail can be found in the rJava docs.

Quick start

To read the first sheet from spreadsheet into a data.frame

read.xlsx2('file.xlsx', 1)

To write a data.frame to a spreadsheet

write.xlsx2(iris, file='iris.xlsx')

The package has many functions that make it easy to style and formalize output into Excel, as well.

wb <- createWorkbook()
s <- createSheet(wb,'test')

cs <- CellStyle(wb) + 
  Font(wb,heightInPoints = 16, isBold = TRUE) +
  Alignment(horizontal='ALIGN_CENTER')
  

r <- createRow(s,1)
cell <- createCell(r,1:ncol(iris))

setCellValue(cell[[1]],'Title for Iris')
for (i in cell) {
  setCellStyle(i,cs)
}

addMergedRegion(s, 1,1, 1,ncol(iris))

addDataFrame(iris, s, row.names=FALSE, startRow=3)

saveWorkbook(wb,'iris_pretty.xlsx')

Issues/Mailing list

To report a bug, use the Issues page at: https://github.com/colearendt/xlsx/issues

If you are wrestling with the Java dependency, there are some very good alternatives that do not require Java. Your choice will vary depending on what you are trying to accomplish.

Acknowledgements

The package is made possible thanks to the excellent work on Apache POI.

Copy Link

Version

Install

install.packages('xlsx')

Monthly Downloads

61,471

Version

0.6.3

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Cole Arendt

Last Published

February 28th, 2020

Functions in xlsx (0.6.3)

Comment

Functions to manipulate cell comments.
Cell

Functions to manipulate cells.
is.CellProtection

Create a CellProtection object.
is.Alignment

Create an Alignment object.
is.Border

Create an Border object.
Picture

Functions to manipulate images in a spreadsheet.
CellStyle-plus

CellStyle construction.
OtherEffects

Functions to do various spreadsheets effects.
is.Fill

Create an Fill object.
is.Font

Create a Font object.
is.DataFormat

Create an DataFormat object.
read.xlsx

Read the contents of a worksheet into an R data.frame.
addDataFrame

Add a data.frame to a sheet.
Workbook

Functions to manipulate Excel 2007 workbooks.
PrintSetup

Function to manipulate print setup.
CellBlock

Create and style a block of cells.
readColumns

Read a contiguous set of columns from sheet into an R data.frame
readRows

Read a contiguous set of rows into an R matrix
POI_constants

Constants used in the project.
set_java_tmp_dir

Set Java Temp Directory
NamedRanges

Functions to manipulate (contiguous) named ranges.
Sheet

Functions to manipulate worksheets.
addHyperlink

Add a hyperlink to a cell.
Row

Functions to manipulate rows of a worksheet.
write.xlsx

Write a data.frame to an Excel workbook.
forceFormulaRefresh

Force Refresh Pivot Tables and Formulae
xlsx-package

Read, write, format Excel 2007 and Excel 97/2000/XP/2003 files
CellStyle

Functions to manipulate cells.