Introduccion


Package xlsx proporciona un control programatico de los archivos de Excel utilizando R. Una API de alto nivel permite al usuario leer una hoja de un documento xlsx en un archivo data.frame y escribir un archivo data.frame en un archivo. La funcionalidad de nivel inferior permite la manipulacion directa de hojas, filas y celdas. Por ejemplo, el usuario tiene control para establecer colores, fuentes, formatos de datos, a??adir bordes, ocultar / mostrar hojas, a??adir / quitar filas, a??adir / quitar hojas, etc.


Java


Package xlsx utiliza una biblioteca java del proyecto Apache, http://poi.apache.org/index.html. Este proyecto Apache proporciona una API de Java a documentos de Microsoft (Excel, Word, PowerPoint, Outlook, Visio, etc.). Utilizando el paquete rJava que vincula R y Java, podemos aprovechar el excelente trabajo ya realizado por la gente en el proyecto Apache y proporcionar esta funcionalidad en R. El paquete xlsx utiliza solo un subconjunto del proyecto Apache POI, Tratando con archivos de Excel. Todos los archivos jar necesarios se guardan en el paquete xlsxjars importado por el paquete xlsx.


Enlaces


Una coleccionn de pruebas que se pueden utilizar como ejemplos se encuentran en la carpeta /tests/. Son una buena fuente de ejemplos de como usar Package.

Consulte http://code.google.com/p/rexcel/ para obtener un Wiki y la version de desarrollo. Para informar de un error, utilice la pagina de problemas en https://code.google.com/p/rexcel/issues/list. Las preguntas deben hacerse en la lista de correo dedicada en http://groups.google.com/group/R-package-xlsx.


Referencias


Apache POI proyecto para el formato de Microsoft Excel http://poi.apache.org/spreadsheet/index.html.

El documento de Java que detalla las clases: http://poi.apache.org/apidocs/index.html. Esto puede ser util si esta buscando algo que no esta expuesto en R, ya que puede estar disponible en el lado de Java. Inspeccionar el c??digo fuente de algunas de las funciones R de este paquete puede mostrarte como hacerlo.

Libro de trabajo para saber como trabajar con objetos de libro.



Estilos de celda


Como crear estilos de celda usando :

##S3 method for class  CellStyle 
cs1 + object


Donde

Elemento Concepto
Cs1 Es un objeto CellStyle
Object Es un objeto para agregar.El objeto puede ser otro CellStyle, un DataFormat, alineacion, un borde, un relleno, una fuente o un objeto CellProtection

Ejemplo

  Not run:
  cs <- CellStyle(wb) +
    Font(wb, heightInPoints=20, isBold=TRUE, isItalic=TRUE,
      name="Courier New", color="orange") +
    Fill(backgroundColor="lavender", foregroundColor="lavender",
      pattern="SOLID_FOREGROUND") +
    Alignment(h="ALIGN_RIGHT")
  setCellStyle(cell.1, cellStyle1)
  # you need to save the workbook now if you want to see this art
## End(Not run)



Archivos de Datos


Agregue un archivo de datos a una hoja, permitiendo diferentes estilos de columna. Util cuando se construye la hoja de calculo desde cero usando.

  addDataFrame(x, sheet, col.names=TRUE, row.names=TRUE,
  startRow=1, startColumn=1, colStyle=NULL, colnamesStyle=NULL,
  rownamesStyle=NULL, showNA=FALSE, characterNA="", byrow=FALSE)


Donde

Elemento Concepto
x Una hoja de datos
sheet Un objeto de hoja
col.names Un valor logico que indica si los nombres de columnas de x deben escribirse junto con x en el archivo
row.names Un valor logico que indica si los nombres de fila de x deben escribirse junto con x en el archivo
startRow Un valor numerico para la fila de inicio
startColumn Un valor numerico para la columna de inicio
colStyle Una lista de CellStyle. Si el nombre del elemento de lista es el numero de columna, se utilizara para establecer el estilo de la columna. Las columnas del tipo Date y POSIXct se denominan automaticamente aunque colSyle = NULL
colnamesStyle Un objeto CellStyle para personalizar el encabezado de tabla!
rownamesStyle Un objeto CellStyle para personalizar los nombres de fila (de row.names = TRUE)
showNA Un valor booleano para controlar como se muestran NA en la hoja. Si FALSO, los valores NA seran representados como celdas en blanco
characterNA Un valor de cadena para controlar como se mostrara el caracter NA en la hoja de calculo
byrow Un valor logico que indica si el archivo data.frame debe a??adirse a la hoja en forma de fila

Ejemplo

  wb <- createWorkbook()
  sheet  <- createSheet(wb, sheetName="addDataFrame1")
  data <- data.frame(mon=month.abb[1:10], day=1:10, year=2000:2009,
    date=seq(as.Date("1999-01-01"), by="1 year", length.out=10),
    bool=c(TRUE, FALSE), log=log(1:10),
    rnorm=10000*rnorm(10),
    datetime=seq(as.POSIXct("2011-11-06 00:00:00", tz="GMT"), by="1 hour",
      length.out=10))
  cs1 <- CellStyle(wb) + Font(wb, isItalic=TRUE)           # rowcolumns
  cs2 <- CellStyle(wb) + Font(wb, color="blue")
  cs3 <- CellStyle(wb) + Font(wb, isBold=TRUE) + Border()  # header
  addDataFrame(data, sheet, startRow=3, startColumn=2, colnamesStyle=cs3,
    rownamesStyle=cs1, colStyle=list( 2 =cs2,  3 =cs2))
  # to change the default date format use something like this
  # options(xlsx.date.format="dd MMM, yyyy")
  # Don t forget to save the workbook ...
  # saveWorkbook(wb, file)



Agregar un hipervinculo a una celda.


Agregue un hipervinculo a una celda para que apunte a un recurso externo(AddHyperlink) usando.

  addHyperlink(cell, address, linkType=c("URL", "DOCUMENT",
  "EMAIL", "FILE"), hyperlinkStyle=NULL)


Donde

Elemento Concepto
cell Un objeto Cell
address Una cadena apuntando al recurso
linkType El tipo de recurso
hyperlinkStyle Un objeto CellStyle. Si NULL se crea un estilo de celda predeterminado, fuente azul subrayada

Ejemplo

  wb <- createWorkbook()
  sheet1 <- createSheet(wb, "Sheet1")
  rows   <- createRow(sheet1, 1:10)          # 10 rows
  cells  <- createCell(rows, colIndex=1:8)   # 8 columns
  cat("Add hyperlinks to a cell")
  cell <- cells[[1,1]]
  address <- "http://poi.apache.org/"
  setCellValue(cell, "click me!")
  addHyperlink(cell, address)
  # Don t forget to save the workbook ...



Alineacion.


Cree un objeto Alineacion,util cuando se trabaja con estilos de celda usando.

  Alignment(horizontal=NULL, vertical=NULL, wrapText=FALSE,
  rotation=0, indent=0)
  is.Alignment(x)


Donde

Elemento Concepto
horizontal Un valor de caracter que especifica la alineacion horizontal. Los valores validos provienen de constantes HALIGN_STYLES_
vertical Un valor de caracter que especifica la alineacion vertical. Los valores validos provienen de VALIGN_STYLES_ constante
wrapText Una indicacion logica si el texto debe ser envuelto.
rotation Un valor numerico que indica los grados que desea girar el texto en la celda
indent Un valor numerico que indica el numero de espacios que desea pedir el texto en la celda
x Alineacion de un objeto, tal como lo devuelve alineacion

Ejemplo

# you can just use h for horizontal, since R does the matching for you
  a1 <-  Alignment(h="ALIGN_CENTER", rotation=90) # centered and rotated!



Cree un objeto Borde.


Cree un objeto Border, ??til cuando se trabaja con estilos de celda usando:

Border(color="black", position="BOTTOM", pen="BORDER_THIN")
is.Border(x)


Donde

Elemento Concepto
color Un vector de caracteres que especifica el color de la fuente. Se puede utilizar cualquier nombre de color devuelto por colores. O, un car??cter hexadecimal, p. “# FF0000” para el rojo. Para los libros de Excel 95, s??lo est?? disponible un subconjunto de colores, consulte la constante INDEXED_COLORS_
position Un vector de caracteres que especifica la posici??n del borde. Los valores v??lidos son “FONDO(BOTTOM)”, “IZQUIERDA(LEFT)”, “PASRTE SUPERIOR (TOP)”, “DERECHA(RIGHT)”
pen Un vector de caracteres que especifica el estilo de la pluma. Los valores v??lidos provienen de BORDER_STYLES_ constante
x Un objeto Border, como devuelto por Border

Ejemplo

    border <-  Border(color="red", position=c("TOP", "BOTTOM"),
    pen=c("BORDER_THIN", "BORDER_THICK"))



Funciones para manipular las cells.


Funciones para manipular las celdas usando.

createCell(row, colIndex=1:5)
getCells(row, colIndex=NULL, simplify=TRUE)
setCellValue(cell, value, richTextString=FALSE, showNA=TRUE)
getCellValue(cell, keepFormulas=FALSE, encoding="unknown")


Donde

Elemento Concepto
row Una lista de objetos de fila. Ver Fila
colIndex Un vector num??rico que especifica el ??ndice de columnas
simplify Un valor l??gico. Si es VERDAD, el resultado no se mostrar?? en la lista.
value Una variable R de longitud uno
richTextString Un valor l??gico que indica si el valor debe insertarse en la celda de Excel como texto enriquecido
showNA Un valor l??gico. Si es VERDAD la celda contendr?? el valor “# N / A”, si es FALSA se saltar??n. El valor predeterminado se eligi?? para seguir siendo compatible con las versiones anteriores de la funci??n
keepFormulas Un valor l??gico. Si es VERDADERA las f??rmulas se devuelven como caracteres en lugar de ser evaluadas expl??citamente
encoding Un valor de car??cter para establecer la codificaci??n, por ejemplo “UTF-8”
cell Un objeto Cell

Ejemplo

  file <- system.file("tests", "test_import.xlsx", package = "xlsx")
  wb <- loadWorkbook(file)
sheets <- getSheets(wb)
sheet <- sheets[[ mixedTypes ]]      # get second sheet
rows  <- getRows(sheet)   # get all the rows
cells <- getCells(rows)   # returns all non empty cells
values <- lapply(cells, getCellValue) # extract the values
# write the months of the year in the first column of the spreadsheet
ind <- paste(2:13, ".2", sep="")
mapply(setCellValue, cells[ind], month.name)
####################################################################
# make a new workbook with one sheet and 5x5 cells
wb <- createWorkbook()
sheet <- createSheet(wb, "Sheet1")
rows  <- createRow(sheet, rowIndex=1:5)
cells <- createCell(rows, colIndex=1:5)
# populate the first column with Dates
days <- seq(as.Date("2013-01-01"), by="1 day", length.out=5)
mapply(setCellValue, cells[,1], days)



Crear y estilo un bloque de celdas.


Funciones para crear y dise??ar (no leer) un bloque de celdas. Util??celo para establecer / actualizar los valores de las celdas y los estilos de celdas de una manera eficiente usando.

 ## Default S3 method:
CellBlock(sheet, startRow, startColumn, noRows, noColumns,
  create=TRUE)
is.CellBlock( cellBlock )
CB.setColData(cellBlock, x, colIndex, rowOffset=0, showNA=TRUE,
  colStyle=NULL)
CB.setRowData(cellBlock, x, rowIndex, colOffset=0, showNA=TRUE,
  rowStyle=NULL)
CB.setMatrixData(cellBlock, x, startRow, startColumn,
  showNA=TRUE, cellStyle=NULL)
CB.setFill( cellBlock, fill, rowIndex, colIndex)
CB.setFont( cellBlock, font, rowIndex, colIndex )
CB.setBorder( cellBlock, border, rowIndex, colIndex)


Donde

Elemento Concepto
sheet Un objeto de hoja
startRow Un valor num??rico para la fila de inicio
startColumn Un valor num??rico para la columna de inicio
rowOffset Un valor num??rico para la fila de inicio
colOffset Un valor num??rico para la columna de inicio
showNA Un valor l??gico. Si se establece en FALSE, los valores NA se dejar??n como celdas vac??as
noRows Un valor num??rico para especificar el n??mero de filas para el bloque
noColumns Un valor num??rico para especificar el n??mero de columnas para el bloque
create Si se crean las c??lulas VERDADERAS si no existen, si es FALSA solo se usan las celdas existentes. Si las celdas no existen (en una hoja nueva por ejemplo), usted tiene que utilizar VERDADERO. En una hoja existente con datos, utilice VERDADERAS si desea borrar un bloque de celdas existente. Utilice FALSA si desea conservar el estilo de las celdas existentes, pero simplemente modifique el valor de la celda
cellBlock Un objeto de bloque de celda devuelto por CellBlock
rowStyle Un objeto CellStyle utilizado para dise??ar la fila
colStyle Un objeto CellStyle utilizado para dise??ar la columna
cellStyle Un objeto CellStyle
border Un objeto Border, como devuelto por Border
fill Un objeto Fill, como devuelto por Fill
font Un objeto Fuente, como devuelto por Fuente
colIndex Un vector num??rico se especifiquen las columnas que desee en relaci??n con el StartColumn
rowIndex Un vector num??rico que especifica las filas que desea en relaci??n con el startRow
x Los datos que desea agregar al bloque de celdas, un vector o una matriz dependiendo de la funci??n

Ejemplo

   wb <- createWorkbook()
  sheet  <- createSheet(wb, sheetName="CellBlock")
  cb <- CellBlock(sheet, 7, 3, 1000, 60)
  CB.setColData(cb, 1:100, 1)    # set a column
  CB.setRowData(cb, 1:50, 1)     # set a row
  # add a matrix, and style it
  cs <- CellStyle(wb) + DataFormat("#,##0.00")
  x  <- matrix(rnorm(900*45), nrow=900)
  CB.setMatrixData(cb, x, 10, 4, cellStyle=cs)
  # highlight the negative numbers in red
  fill <- Fill(foregroundColor = "red", backgroundColor="red")
  ind  <- which(x < 0, arr.ind=TRUE)
  CB.setFill(cb, fill, ind[,1]+9, ind[,2]+3)  # note the indices offset
  # set the border on the top row of the Cell Block
  border <-  Border(color="blue", position=c("TOP", "BOTTOM"),
    pen=c("BORDER_THIN", "BORDER_THICK"))
  CB.setBorder(cb, border, 1:1000, 1)
  # Don t forget to save the workbook ...
  # saveWorkbook(wb, file)



Cree un objeto CellProtection


Cree un objeto CellProtection utilizado para los estilos de celda usando.

CellProtection(locked=TRUE, hidden=FALSE)
is.CellProtection(x)


Donde

Elemento Concepto
locked Una l??gica indicando que la celda est?? bloqueada
hidden Una l??gica que indica que la celda est?? oculta
x Un objeto CellProtection, como devuelto por CellProtection

Ejemplo

 font <-  CellProtection(locked=TRUE)



Funciones para manipular las celdas.


Cree y establezca estilos de celda usando.

 ## Default S3 method:
CellStyle(wb, dataFormat=NULL, alignment=NULL,
  border=NULL, fill=NULL, font=NULL, cellProtection=NULL)
setCellStyle(cell, cellStyle)
getCellStyle(cell)
is.CellStyle(x)


Donde

Elemento Concepto
wb Un objeto de libro como devuelto por createWorkbook r loadWorkbook
dataFormat Un objeto de formato de datos
alignment Un objeto Alineaci??n
border Un objeto Borde
fill Un objeto de relleno
font Un objeto Fuente
cellProtection Un objeto CellProtection
x Un objeto CellStyle
cell Un objeto Cell
cellStyle Un objeto CellStyle
Argumentos a CellStyle.default

Ejemplo

 ## Not run:
  wb <- createWorkbook()
  sheet <- createSheet(wb, "Sheet1")
  rows  <- createRow(sheet, rowIndex=1)
  cell.1 <- createCell(rows, colIndex=1)[[1,1]]
  setCellValue(cell.1, "Hello R!")
  cs <- CellStyle(wb) +
    Font(wb, heightInPoints=20, isBold=TRUE, isItalic=TRUE,
      name="Courier New", color="orange") +
    Fill(backgroundColor="lavender", foregroundColor="lavender",
      pattern="SOLID_FOREGROUND") +
    Alignment(h="ALIGN_RIGHT")
  setCellStyle(cell.1, cellStyle1)



Funciones para manipular los comentarios de la celdas.


Funciones para manipular los comentarios de la celdas usando.

createCellComment(cell, string="", author=NULL, visible=TRUE)
getCellComment(cell)
removeCellComment(cell)


Donde

Elemento Concepto
cell Un objeto Cell
string Una cadena para el comentario
author Una cadena con el nombre del autor
visible Un valor l??gico. Si es VERDADERO el comentario ser?? visible

Ejemplo

wb <- createWorkbook()
  sheet1 <- createSheet(wb, "Sheet1")
  rows   <- createRow(sheet1, rowIndex=1:10)  # 10 rows
  cells  <- createCell(rows, colIndex=1:8)    # 8 columns
DataFormat
  cell1 <- cells[[1,1]]
  setCellValue(cell1, 1)   # add value 1 to cell A1
  # create a cell comment
  createCellComment(cell1, "Cogito", author="Descartes")
  # extract the comments
  comment <- getCellComment(cell1)
  stopifnot(comment$getAuthor()=="Descartes")
  stopifnot(comment$getString()$toString()=="Cogito")
  # don t forget to save your workbook!



Cree un objeto DataFormat.


Cree un objeto DataFormat, ??til cuando se trabaja con estilos de celda usando.

DataFormat(x)
is.DataFormat(df)


Donde

Elemento Concepto
x Un valor de car??cter que especifica el formato de datos
df Un objeto DataFormat, como devuelto por DataFormat

Ejemplo

df <-  DataFormat("#,##0.00")



Crear un objeto de relleno


Crear un objeto de relleno, ??til cuando se trabaja con estilos de celda usando.

Fill(foregroundColor="lightblue", backgroundColor="lightblue",
  pattern="SOLID_FOREGROUND")
 is.Fill(x)


Donde

Elemento Concepto
foregroundColor Un vector de caracteres que especifica el color de primer plano. Pueden utilizarse todos los nombres de color devueltos por colores. O, un car??cter hexadecimal, p. “# FF0000” para el rojo. Para los libros de Excel 95, s??lo est?? disponible un subconjunto de colores, consulte la constante INDEXED_COLORS_
backgroundColor Un vector de caracteres que especifica el color de primer plano. Pueden utilizarse todos los nombres de color devueltos por colores. O, un car??cter hexadecimal, p. “# FF0000” para el rojo. Para los libros de Excel 95, s??lo est?? disponible un subconjunto de colores, consulte la constante INDEXED_COLORS_
pattern Un vector de caracteres que especifica el estilo del patr??n de relleno. Los valores v??lidos provienen de constantes FILL_STYLES_
x Un objeto de relleno, como devuelto por relleno

Ejemplo

fill <-  Fill()



Cree un objeto Fuente.


Cree un objeto Fuente usando.

 Font(wb, color=NULL, heightInPoints=NULL, name=NULL,
  isItalic=FALSE, isStrikeout=FALSE, isBold=FALSE, underline=NULL,
  boldweight=NULL)
is.Font(x)


Donde

Elemento Concepto
wb Un objeto de libro como devuelto por createWorkbook o loadWorkbook
color Un car??cter especificando el color de la fuente. Se puede utilizar cualquier nombre de color devuelto por colores. O, un car??cter hexadecimal, p. “# FF0000” para el rojo. Para libros de trabajo de Excel 95, s??lo un subconjunto de colores est?? disponible, consulte la constante INDEXED_COLORS_
heightInPoints Un valor num??rico que especifica la altura de la fuente. Los valores usuales son 10, 12, 14, etc
name Un valor de car??cter para la fuente a utilizar. Todos los valores que ve en Excel deber??an estar disponibles,e.g. “Courier New”
isItalic Una indicaci??n l??gica de la fuente debe ser cursiva
isStrikeout Una l??gica indicando la fuente debe ser stiked hacia fuera
isBold Una indicaci??n l??gica de la fuente debe ser negrita
underline Un valor num??rico que especifica el grosor del subrayado. Los valores permitidos son 0, 1, 2
boldweight Un valor num??rico que indica el peso en negrita. Normal es 400, la negrita regular es 700
x Un objeto Fuente, como devuelto por Fuente
Los argumentos se pasan a Fuente

Ejemplo

## Not run:
  font <-  Font(wb, color="blue", isItalic=TRUE)
 ## End(Not run)



Funciones para manipular rangos con nombre.


Funciones para manipular rangos con nombre (contiguos) usando.

getRanges(wb)
readRange(range, sheet, colClasses="character")
createRange(rangeName, firstCell, lastCell)


Donde

Elemento Concepto
wb Un objeto de libro como devuelto por createWorksheet o loadWorksheet
range Un objeto de rango devuelto por getRanges
sheet Un objeto de hoja como devuelto por getSheets
rangeName Un car??cter que especifica el nombre del nombre a crear
colClasses El tipo de columnas soportadas. Solo se admiten n??meros y caracteres. Consulte read.xlsx2 para m??s detalles
firstCell Un objeto de c??lula correspondiente a la celda superior izquierda del rango
lastCell Un objeto de c??lula correspondiente a la celda inferior derecha del rango

Ejemplo

file <- system.file("tests", "test_import.xlsx", package = "xlsx")
wb <- loadWorkbook(file)
sheet <- getSheets(wb)[["deletedFields"]]
ranges <- getRanges(wb)
# the call below fails on cran tests for MacOS.  You should see the
# FAQ: http://code.google.com/p/rexcel/wiki/FAQ
#res  <- readRange(ranges[[1]], sheet, colClasses="numeric") # read it
ranges[[1]]$getNameName()  # get its name
# see all the available java methods that you can call
.jmethods(ranges[[1]])
# create a new named range
firstCell <- sheet$getRow(14L)$getCell(4L)
lastCell  <- sheet$getRow(20L)$getCell(7L)
rangeName <- "Test2"
# same issue on MacOS
#createRange(rangeName, firstCell, lastCell)



Funciones para hacer varios efectos de hojas de c??lculo.


Funciones para hacer varios efectos de hojas de c??lculo usando.

addAutoFilter(sheet, cellRange)
addMergedRegion(sheet, startRow, endRow, startColumn, endColumn)
removeMergedRegion(sheet, ind)
autoSizeColumn(sheet, colIndex)
createFreezePane(sheet, rowSplit, colSplit, startRow=NULL,
  startColumn=NULL)
createSplitPane(sheet, xSplitPos=2000, ySplitPos=2000,
startRow=1, startColumn=1, position="PANE_LOWER_LEFT")
setColumnWidth(sheet, colIndex, colWidth)
setPrintArea(wb, sheetIndex, startColumn, endColumn, startRow,
endRow)
setZoom(sheet, numerator=100, denominator=100)


Donde

Elemento Concepto
cellRange Una cadena especificando el rango de celdas. Por ejemplo, un ??rea est??ndar ref (por ejemplo, “B1: D8”). Puede ser una c??lula ??nica ref (por ejemplo, “B5”) en cuyo caso el resultado es un intervalo de c??lulas 1 x 1. Tambi??n puede ser un intervalo de fila entera (por ejemplo, “3: 5”), o un rango completo de columnas (e.g. “C: F”)
colIndex Un vector num??rico que especifica las columnas que desea utilizar en el tama??o autom??tico
colSplit Un valor num??rico para la columna a dividir
colWidth Un valor num??rico para especificar el ancho de la columna. Las unidades est??n en 1 / 256ths de un ancho de car??cter
denominator Un valor num??rico que representa el denomiador de la relaci??n de zoom
endColumn Un valor num??rico para la columna final
endRow Un valor num??rico para la fila final
ind Un valor num??rico que indica la regi??n fusionada que desea eliminar
numerator Un valor num??rico que representa el numerador de la relaci??n de zoom.
position un personaje. Los valores v??lidos son “PANE_LOWER_LEFT”, “PANE_LOWER_RIGHT”, “PANE_UPPER_LEFT”, “PANE_UPPER_RIGHT”
rowSplit Un valor num??rico para la fila a dividir
sheet Un objeto de hoja de c??lculo
sheetIndex Un valor num??rico para el ??ndice de hoja de c??lculo
startColumn Un valor num??rico para la columna de inicio
startRow Un valor num??rico para la fila de inicio
xSplitPos Un valor num??rico para la posici??n horizontal de la divisi??n en 1/20 de un punto
ySplitPos Un valor num??rico para la posici??n vertical de la divisi??n en 1/20 de un punto
wb Un objeto de libro

Ejemplo

wb <- createWorkbook()
  sheet1 <- createSheet(wb, "Sheet1")
  rows   <- createRow(sheet1, 1:10)               # 10 rows 
  cells  <- createCell(rows, colIndex=1:8)        # 8 columns
cat("Merge cells \n")
setCellValue(cells[[1,1]], "A title that spans 3 columns")
addMergedRegion(sheet1, 1, 1, 1, 3)
  cat("Set zoom 2:1 \n")
  setZoom(sheet1, 200, 100)
  sheet2 <- createSheet(wb, "Sheet2")
  rows  <- createRow(sheet2, 1:10)               # 10 rows 
  cells <- createCell(rows, colIndex=1:8)        # 8 columns
  #createFreezePane(sheet2, 1, 1, 1, 1)
  createFreezePane(sheet2, 5, 5, 8, 8)
  sheet3 <- createSheet(wb, "Sheet3")
  rows  <- createRow(sheet3, 1:10)
  cells <- createCell(rows, colIndex=1:8)
  createSplitPane(sheet3, 2000, 2000, 1, 1, "PANE_LOWER_LEFT")
  # set the column width of first column to 25 characters wide
  setColumnWidth(sheet1, 1, 25)
  # add a filter on the 3rd row, columns C:E
  addAutoFilter(sheet1, "C3:E3")
  # Don t forget to save the workbook ...



Funciona para manipular im??genes en una hoja de calculo.


Funciona para manipular im??genes en una hoja de calculo usando.

addPicture(file, sheet, scale=1, startRow=1, startColumn=1)


Donde

Elemento Concepto
file El camino absoluto al archivo de imagen
sheet Un objeto de hoja de c??lculo devuelto por createSheet o subconjunto de
getSheets.La imagen se agregar?? en esta hoja en la posici??n startRow, startColumn
scale Un num??rico que especifica el factor de escala para la imagen
startRow Un num??rico que especifica la fila de la esquina superior izquierda de la imagen
startColumn Un num??rico que especifica la columna de la esquina superior izquierda de la imagen

Ejemplo

file <- system.file("tests", "log_plot.jpeg", package = "xlsx")
wb <- createWorkbook()
sheet <- createSheet(wb, "Sheet1")
addPicture(file, sheet)
# don t forget to save the workbook!



Constantes utilizadas en el proyecto.


Documentar algunas constantes de POI de Apache utilizadas en el proyecto usando.


HALIGN_STYLES_
VALIGN_STYLES_
BORDER_STYLES_
FILL_STYLES_
CELL_STYLES_
INDEXED_COLORS_



Funcion para manipular la configuraci??n de impresion.


Funcion para manipular la configuracion de impresion usando.

  printSetup(sheet, fitHeight=NULL,
  fitWidth=NULL, copies=NULL, draft=NULL, footerMargin=NULL,
  mheaderMargin=NULL, landscape=FALSE, pageStart=NULL, paperSize=NULL,
  noColor=NULL)


Donde

Elemento Concepto
sheet Un objeto de hoja de c??lculo Hoja de trabajo
fitHeight Valor num??rico para establecer el n??mero de p??ginas para que se ajuste a la hoja
fitWidth Valor num??rico para establecer el n??mero de p??ginas de ancho para adaptarse a la hoja
copies Valor num??rico para establecer el n??mero de copias
draft L??gico que indica si es un borrador o no
footerMargin Valor num??rico para establecer el margen de pie de p??gina
headerMargin Valor num??rico para establecer el margen del encabezado
landscape Valor l??gico para especificar la orientaci??n del papel
pageStart Valor num??rico desde donde comenzar la numeraci??n de la p??gina
paperSize Para establecer el tama??o del papel. Los valores v??lidos son “A4_PAPERSIZE”, “A5_PAPERSIZE”, “ENVELOPE_10_PAPERSIZE”, “ENVELOPE_CS_PAPERSIZE”, “ENVELOPE_DL_PAPERSIZE”, “ENVELOPE_MONARCH_PAPERSIZE”, “EXECUTIVE_PAPERSIZE”, “LE-
GAL_PAPERSIZE “,” LETTER_PAPERSIZE “
noColor Valor l??gico para indicar si las impresiones deben ser de color o no

Ejemplo

wb <- createWorkbook()
sheet <- createSheet(wb, "Sheet1")
ps   <- printSetup(sheet, landscape=TRUE, copies=3)



Lea el contenido de una hoja de trabajo en un archivo de datos R.


Lea el contenido de una hoja de trabajo en un archivo de datos R usando.

  read.xlsx(file, sheetIndex, sheetName=NULL, rowIndex=NULL,
  startRow=NULL, endRow=NULL, colIndex=NULL,
  as.data.frame=TRUE, header=TRUE, colClasses=NA,
  keepFormulas=FALSE, encoding="unknown", ...)
  read.xlsx2(file, sheetIndex, sheetName=NULL, startRow=1,
  colIndex=NULL, endRow=NULL, as.data.frame=TRUE, header=TRUE,
  colClasses="character", ...)


Donde

Elemento Concepto
file La ruta al archivo para leer
sheetIndex Un n??mero que representa el ??ndice de hoja en el libro
sheetName Una cadena de caracteres con el nombre de la hoja
rowIndex Un vector num??rico que indica las filas que desea extraer. Si NULL, todas las filas encontradas se extraer??n, a menos que se especifique startRow o endRow
colIndex Un vector num??rico que indica las columnas que desea extraer. Si NULL, se extraer??n todas las columnas encontradas
as.data.frame Un valor l??gico que indica si el resultado debe ser coaccionado en un data.frame. Si FALSE, el resultado es una lista con un elemento para cada columna
header Un valor l??gico que indica si la primera fila correspondiente al primer elemento del vector rowIndex contiene los nombres de las variables
colClasses Para read.xlsx un vector de caracteres que representa la clase de cada columna. Si se vuelve a encender seg??n sea necesario, o si se nombra el vector de caracteres, los valores no especificados se tomar??n como NA. Para read.xlsx2 vea readColumns
keepFormulas Un valor l??gico que indica si las f??rmulas de Excel deben mostrarse como texto en R y no evaluadas antes de introducirlas
encoding Codificaci??n a ser asumida para cadenas de entrada. V??ase read.table
startRow Un n??mero que especifica el ??ndice de la fila inicial. Para read.xlsx este argumento es Activo s??lo si rowIndex es NULL
endRow Un n??mero que especifica el ??ndice de la ??ltima fila a tirar. Si es NULL, lea todas las filas En la hoja. Para read.xlsx este argumento s??lo est?? activo si rowIndex es NULL
Otros argumentos a data.frame, por ejemplo stringsAsFactors

Ejemplo

 ## Not run:
 file <- system.file("tests", "test_import.xlsx", package = "xlsx")
res <- read.xlsx(file, 1) # read first sheet
head(res)
#     NA. Population Income Illiteracy Life.Exp Murder HS.Grad Frost Area
#1 Alabama   3615     3624     2.1       69.05    15.1 41.3      20 50708 
#2 Alaska    365      6315     1.5       69.31    11.3 66.7     152 566432 
#3 Arizona   2212     4530     1.8       70.55     7.8 58.1      15 113417
#4 Arkansas  2110     3378     1.9       70.66    10.1 39.9      65 51945
#5California 21198    5114     1.1       71.71    10.3 62.6      20 156361
#6 Colorado  2541     4884     0.7      72.06      6.8 63.9     166 103766
#>

# To convert an Excel datetime colum to POSIXct, do something like:
#   as.POSIXct((x-25569)*86400, tz="GMT", origin="1970-01-01")
# For Dates, use a conversion like:
#   as.Date(x-25569, origin="1970-01-01")
 res2 <- read.xlsx2(file, 1)
## End(Not run)



Leer un conjunto contiguo de columnas de la hoja en un archivo data.frame R


Lea un conjunto contiguo de columnas de la hoja en un archivo data.frame.

 Utiliza el RInterface para la velocidad usando.    
 readColumns(sheet, startColumn, endColumn, startRow,
  endRow=NULL, as.data.frame=TRUE, header=TRUE, colClasses=NA,
  ...)


Donde

Elemento Concepto
sheet Un objeto de hoja de c??lculo
startColumn Un valor num??rico para la columna de inicio
endColumn Un valor num??rico para la columna final
startRow Un valor num??rico para la fila de inicio
endRow Un valor num??rico para la fila final. Si NULL lee todas las filas de la hoja. Si solicita m??s que las filas existentes en la hoja, el resultado se truncar?? por el n??mero de fila real
as.data.frame Un valor l??gico que indica si el resultado debe ser coaccionado en un data.frame. Si FALSE, el resultado es una lista con un elemento para cada columna
header Un valor l??gico que indica si la primera fila correspondiente al primer elemento del vector rowIndex contiene los nombres de las variables
colClasses Un vector de caracteres que representa la clase de cada columna. Reciclado seg??n sea necesario, o si NA se intenta adivinar el tipo de cada columna leyendo la primera fila de datos. S??lo se aceptan los tipos num??ricos, de car??cter, fecha, POSIX, columna. Cualquier otra cosa se cubrir?? a un tipo de car??cter. Si la longitud es menor que el n??mero de columnas solicitadas, reproducirla
Otros argumentos a data.frame, por ejemplo stringsAsFactors

Ejemplo

## Not run:
  file <- system.file("tests", "test_import.xlsx", package = "xlsx")
  wb     <- loadWorkbook(file)
  sheets <- getSheets(wb)
  sheet <- sheets[["all"]]
  res <- readColumns(sheet, startColumn=3, endColumn=10, startRow=3,
endRow=7)
  sheet <- sheets[["NAs"]]
  res <- readColumns(sheet, 1, 6, 1,  colClasses=c("Date", "character",
    "integer", rep("numeric", 2),  "POSIXct"))
## End(Not run)



Leer un conjunto contiguo de filas en una matriz R.


Lee un conjunto contiguo de filas en una matriz de caracteres R. Utiliza la interfaz para la velocidad usando.

readRows(sheet, startRow, endRow, startColumn,
  endColumn=NULL)


Donde

Elemento Concepto
sheet Un objeto de hoja de c??lculo
startRow Un valor num??rico para la fila de inicio
endRow Un valor num??rico para la fila final. Si NULL lee todas las filas de la hoja
startColumn Un valor num??rico para la columna de inicio
endColumn Un valor num??rico para la columna final. Las celdas vac??as se devolver??n como “”

Ejemplo

## Not run:
  file <- system.file("tests", "test_import.xlsx", package = "xlsx")
  wb     <- loadWorkbook(file)
  sheets <- getSheets(wb)
  sheet <- sheets[["all"]]
  res <- readRows(sheet, startRow=3, endRow=7, startColumn=3, endColumn=10)



Funciones para manipular filas de una hoja de c??lculo.


Funciones para manipular filas de una hoja de c??lculo usando.

createRow(sheet, rowIndex=1:5)
getRows(sheet, rowIndex=NULL)
removeRow(sheet, rows=NULL)
setRowHeight(rows, inPoints, multiplier=NULL)


Donde

Elemento Concepto
sheet Un objeto de hoja de c??lculo devuelto por createSheet o subconjunto de getSheets
rowIndex Un vector num??rico que especifica el ??ndice de filas a crear. Para getRows, un NULL
rows Valor devolver?? todas las filas no vac??as
inPoints Una lista de objetos de fila
multiplier Un valor num??rico para especificar el m??ltiplo de la altura de fila predeterminada en puntos. Si se establece este valor, tiene prioridad sobre el argumento inPoints

Ejemplo

file <- system.file("tests", "test_import.xlsx", package = "xlsx")
wb <- loadWorkbook(file)
sheets <- getSheets(wb)
sheet <- sheets[[2]]
rows  <- getRows(sheet)  # get all the rows
# see all the available java methods that you can call
.jmethods(rows[[1]])
# for example
rows[[1]]$getRowNum()   # zero based index in Java
removeRow(sheet, rows)  # remove them all
# create some row
rows  <- createRow(sheet, rowIndex=1:5)
setRowHeight( rows, multiplier=3)  # 3 times bigger rows than the default



Funciones para manipular hojas de trabajo.


Funciones para manipular hojas de trabajo usando.

createSheet(wb, sheetName="Sheet1")
removeSheet(wb, sheetName="Sheet1")
getSheets(wb)


Donde

Elemento Concepto
wb Un objeto de libro como devuelto por createWorksheet o loadWorksheet
sheetName Un car??cter que especifica el nombre de la hoja de c??lculo que se va a crear o quitar

Ejemplo

file <- system.file("tests", "test_import.xlsx", package = "xlsx")
wb <- loadWorkbook(file)
sheets <- getSheets(wb)
sheet  <- sheets[[2]]  # extract the second sheet
# see all the available java methods that you can call
.jmethods(sheet)
# for example
sheet$getLastRowNum()



Funciones para manipular los libros de Excel 2007.


Funciones para manipular los libros de Excel 2007 usando.

createWorkbook(type="xlsx")
loadWorkbook(file)
saveWorkbook(wb, file)


Donde

Elemento Concepto
type Una cadena, xlsx para Excel 2007 formato OOXML o xls para formato binario de Excel 95
file La ruta hacia el archivo que desea leer o escribir. Puede ser un formato xls o xlsx
wb Un objeto de libro como devuelto por createWorkbook o loadWorkbook

Ejemplo

wb <- createWorkbook()
# see all the available java methods that you can call
.jmethods(wb)
# for example
wb$getNumberOfSheets()   # no sheet yet!
# loadWorkbook("C:/Temp/myFile.xls")



Escriba un archivo data.frame en un libro de Excel.


Escriba un archivo data.frame en un libro de Excel usando.

write.xlsx(x, file, sheetName="Sheet1",
  col.names=TRUE, row.names=TRUE, append=FALSE, showNA=TRUE)
write.xlsx2(x, file, sheetName="Sheet1",
  col.names=TRUE, row.names=TRUE, append=FALSE, ...)


Donde

Elemento Concepto
x Un data.frame para escribir en el libro
file La ruta de acceso al archivo de salida
sheetName Una cadena de caracteres con el nombre de la hoja
col.names Un valor l??gico que indica si los nombres de columnas de x deben escribirse junto con x en el archivo
row.names Un valor l??gico que indica si los nombres de fila de x deben escribirse junto con x en el archivo
append Un valor l??gico que indica si se debe a??adir x a un archivo existente. Si es VERDADERO se lee el archivo desde el disco
showNA Un valor l??gico. Si se establece en FALSA, los valores NA se dejar??n como celdas vac??as
Otros argumentos para addDataFrame en el caso de read.xlsx2

Ejemplo

## Not run:
file <- paste(tempdir(), "/usarrests.xlsx", sep="")
res <- write.xlsx(USArrests, file)
# to change the default date format
oldOpt <- options()
options(xlsx.date.format="dd MMM, yyyy")
write.xlsx(x, sheet) # where x is a data.frame with a Date column.
options(oldOpt)      # revert back to defaults
## End(Not run)