数据科学与R语言

R -> xlsx包(2)

2019-04-08  本文已影响2人  煮豆燃逗比

以下内容是对xlsx包的说明文档的整理:xlsx包说明文档

除了 R -> xlsx包(1)中的关于七种对象(workbook,sheet,row,cell,cellstyle,cellcomment,cellblock)的操作函数外,xlsx包还提供了一些别的函数:

  1. 读取(read)和写入(write)相关的函数
  2. 其它的对excel进行操作的函数

读取(read)和写入(write)相关的函数

read和write都没有对excel进行操作,而是提供了excel和R的data.frame之间的相互转换。

read相关的函数
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", password = NULL, ...)

read.xlsx2(file, sheetIndex, sheetName = NULL, startRow = 1, colIndex = NULL,
           endRow = NULL, as.data.frame = TRUE, header = TRUE, 
           colClasses = "character", password = NULL, ...)

readColumns(sheet, startColumn, endColumn, startRow, endRow = NULL,
            as.data.frame = TRUE, header = TRUE, colClasses = NA, ...)

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

说明:

write相关的函数
write.xlsx(x, file, sheetName = "Sheet1", col.names = TRUE, row.names = TRUE,
           append = FALSE, showNA = TRUE, password = NULL)
write.xlsx2(x, file, sheetName = "Sheet1", col.names = TRUE, row.names = TRUE,
            append = FALSE, password = NULL, ...)

说明:

其他对excel进行操作的函数

addDataFrame

将dataframe插入sheet中

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

说明:

addHyperlink

插入超链接

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

说明:

addPicture

插入图片

addPicture(file, sheet, scale = 1, startRow = 1, startColumn = 1)
ForceRefresh
forcePivotTableRefresh(file, output = NULL, verbose = FALSE)  ## 更新数据透视表
forceFormulaRefresh(file, output = NULL, verbose = FALSE)  ## 更新公式

说明:

addAutoFilter

插入筛选,就是那个小倒三角一点有下拉菜单的东西

addAutoFilter(sheet, cellRange)

说明:

MergeRegion

单元格合并与拆分

addMergedRegion(sheet, startRow, endRow, startColumn, endColumn)  ## 合并单元格
removeMergedRegion(sheet, ind)  ## 拆分单元格

说明:

autoSizeColumn

自动调整列宽到合适的值(就是excel中双击列的右边达到的效果)

autoSizeColumnlumn(sheet, colIndex)
createFreezePane

冻结窗格

createFreezePane(sheet, rowSplit, colSplit, startRow = NULL, startColumn = NULL)

说明:

createSplitPane

拆分

createSplitPane(sheet, xSplitPos = 2000, ySplitPos = 2000, startRow = 1, 
                startColumn = 1, position = "PANE_LOWER_LEFT")
setColumnWidth

设定列宽

setColumnWidth(sheet, colIndex, colWidth)
setZoom

缩放(就是excel的右下角那个百分比缩放)

setZoom(sheet, numerator = 100, denominator = 100)

说明:

以上内容大致为xlsx包说明文档的整理,有一些操作通过xlsx包似乎无法实现,例如:删除行同时让被删除行下方的数据自动上移,删除列同理等。这个似乎需要在了解Apache POI的基础上自己编写R函数实现。

关于通过R操作excel的包除了xlsx之外还有XLConnect包openxlsx包,有时间再做整理。

上一篇 下一篇

猜你喜欢

热点阅读