标签: xlconnect

将Excel工作簿中的所有工作表读入包含data.frames的R列表

据我所知,XLConnect可以用来将Excel工作表读入R.例如,这将读取一个名为test.xlsR 的工作簿中的第一个工作表.

library(XLConnect)
readWorksheetFromFile('test.xls', sheet = 1)
Run Code Online (Sandbox Code Playgroud)

我有一个包含多个工作表的Excel工作簿.

如何将工作簿中的所有工作表导入到R中的列表中,其中列表的每个元素都是给定工作表的data.frame,并且每个元素的名称对应于Excel中工作表的名称?

excel r xlconnect

62
推荐指数
8
解决办法
9万
查看次数

如何从R中的Excel文件中提取工作表名称

我已将工作簿加载到R中并使用xlConnect读取工作表,但我想知道是否有一种方法可以在向量中提取工作表的名称?

到目前为止我的代码是:

dataIn<-loadWorkbook(file.path(filenames[1],sep=""))
lst = readWorksheet(dataIn, sheet = getSheets(dataIn), startRow=1, startCol=1, header=TRUE)
Run Code Online (Sandbox Code Playgroud)

...而我想要提取工作表的工作表名称lst.

excel r xlconnect

22
推荐指数
3
解决办法
2万
查看次数

如何修复OutOfMemoryError(Java):r中超出了GC开销限制?

我必须读取文件夹列表中的文件并将数据保存在R中.我使用以下代码获取测试数据并且它可以工作.当我使用代码获取实际数据时,我得到此错误
错误:OutOfMemoryError(Java):超出GC开销限制来自:top level

这是我为测试数据所做的

parent.folder <- "C:/Users/sandesh/Desktop/test_R"
sub.folder <- list.dirs(parent.folder, recursive =TRUE)[-1]
file <- file.path(sub.folder, "sandesh1.xlsx")
library(xlsx)
library(plyr)
fun <- function(file) {
  df <- read.xlsx(file, sheetIndex=1)
}
df.big <- ldply(file, fun)
Run Code Online (Sandbox Code Playgroud)

excel r xlsx xlconnect

16
推荐指数
1
解决办法
3万
查看次数

使用R Shiny从XLConnect下载Excel文件

有没有人尝试使用R Shiny中的下载处理程序下载带有XLConnect的新创建的Excel文件?

在ui.R中有一条不起眼的线:

downloadButton('downloadData', 'Download')
Run Code Online (Sandbox Code Playgroud)

在server.R中有处理程序:

output$downloadData <- downloadHandler(

filename = function() { "output.xlsx" },

    content = function(file){
      wb <- loadWorkbook(file, create = TRUE)
      createSheet(wb, name = "Sheet1")
      writeWorksheet(wb, c(1:3), sheet = "Sheet1") # writes numbers 1:3 in file
      saveWorkbook(wb)
    }
)
Run Code Online (Sandbox Code Playgroud)

我下载.csv没有问题,使用XLConnect创建excel文件没问题.但是当我运行上面的代码时,我的Chrome浏览器出现以下错误:

IllegalArgumentException(Java):不支持文件扩展名"file1b683b9323bc"!只允许*.xls和*.xlsx!

据我所知,XLConnect无法写入临时文件.

有没有人有解决方案或解决方法?

一种选择是将文件保存在特定位置,然后创建指向它的下载链接.然而,由于多个用户会导致havok,因此这不是很闪亮.

非常感谢

马库斯

excel r download shiny xlconnect

15
推荐指数
1
解决办法
4896
查看次数

XLConnect出错

我正在尝试将excel表导入r.我使用了以下代码:

x <- loadWorkbook("x.xlsx")
b <- readWorksheet(x, sheet="b")
Run Code Online (Sandbox Code Playgroud)

第一行工作正常,但是,运行第二行会出现以下错误:

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘readWorksheet’ for signature ‘"jobjRef", "character"’
Run Code Online (Sandbox Code Playgroud)

我在该表中没有遗漏值.

出于复制目的,请trial.xlsxhttps://github.com/ahmedfsalhin/1stpaper下载.

系统信息:Yosemite操作系统.

r xlconnect

10
推荐指数
3
解决办法
1万
查看次数

为什么R无法加载共享对象?

我想XLConnect在R中使用库.如果我执行

library(XLConnect)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

JAVA_HOME cannot be determined from the Registry
Run Code Online (Sandbox Code Playgroud)

要解决此问题,我首先设置JAVA_HOME变量:

Sys.setenv(JAVA_HOME='C:/Program Files (x86)/Java/jre1.8.0_65')
library(XLConnect)
Run Code Online (Sandbox Code Playgroud)

看起来它有助于我走得更远,但后来又遇到了另一个问题:

unable to load shared object 'C:/Program Files/R/R-3.2.2/library/rJava/libs/x64/rJava.dll'
Run Code Online (Sandbox Code Playgroud)

它想知道为什么R无法加载rJava.dll.至少此文件位于R搜索它的文件夹中:

C:\Program Files\R\R-3.2.2\library\rJava\libs\x64
Run Code Online (Sandbox Code Playgroud)

添加

请注意,该rJava.dll文件存在且位于那里,R正在搜索它.我想问题是32位和64位版本之间不兼容.我认为因为R抱怨:

% 1 is not a valid Win32 application
Run Code Online (Sandbox Code Playgroud)

那么,为什么R期望它Win32 application`? First, my OS is 64bit, second my Java is also for the 64bit and finally, the `rJava.dll` object is located in the folder with在名称中是x64`(因此,我认为它也是64位版本).

r xlconnect

9
推荐指数
1
解决办法
1604
查看次数

使用特殊字符导入.xlsx文件

我正在使用包XLConnect中的函数readWorksheet来导入R中的Excel工作表.这些工作表包含特殊字符(例如,ø,õ,ú),R不能很好地处理.据我所知,函数readWorksheet没有"encoding"参数,因为read.csv函数有.

以下是我到目前为止所做的事情:

data <- readWorksheet(loadWorkbook("data.xlsx"), sheet = 5)
Run Code Online (Sandbox Code Playgroud)

有没有我可以用来让R知道我有特殊字符的选项?

我在macOS Sierra 10.12.1上使用RStudio 0.99.903.

r xlconnect

9
推荐指数
1
解决办法
5052
查看次数

从R中的Excel工作簿中提取工作表数(不包含XLConnect)

我对R(和编程)比较陌生.我有一张包含36张纸的Excel工作簿,但是我想我不知道有多少张纸,我希望我的代码可以找到它.我尝试过类似的东西:

options(java.parameters = "-Xmx6g")
library(XLConnect)
myWorkbook <- loadWorkbook(filename)
numberofsheets <- length(getSheets(myWorkbook))
Run Code Online (Sandbox Code Playgroud)

但即使我将内存设置为6GB,我仍然会遇到XLConnect的内存错误,所以我想使用其他软件包(例如xlsx,openxlsx).有没有办法在不使用XLConnect的情况下找出Excel工作簿中的工作表数量?谢谢你的帮助.

excel r xlconnect

8
推荐指数
1
解决办法
6048
查看次数

错误:XLConnect 的包或命名空间加载失败

我正在 R studio 中安装 XLConnect 库,但无法这样做。

我知道这个包有 java 依赖,我的 R 软件和 java 都是 64 位的。此外,两者都已正确配置。在安装 XLConnect 之前,我还安装了 rJava 包。该软件包运行正常,但现在出现此错误。

library(XLConnect)
Run Code Online (Sandbox Code Playgroud)

错误:“XLconnect”的包或命名空间加载失败:
.onload 在 XLConnect 的 loadNamespace() 中失败,详细信息:
调用。System2("cat",c("/etc/*-release"), stdout =TRUE, stderr = TRUE) 错误:'找不到“猫”。

请帮我。

windows r cat rjava xlconnect

8
推荐指数
1
解决办法
3907
查看次数

可以使用R编写Excel公式或数据验证吗?

我正在尝试将R数据框写入Excel并希望添加具有Excel公式和/或数据验证值的其他单元格/列(例如,使用Excel中的"数据/验证"菜单提供允许值的下拉列表细胞)

我看过R包:xlsx,XLConnect和openxlsx.这些非常适合编写单元格,但不适用于公式数据验证设置.

我目前认为我不得不使用AppleScript(在Mac上)或VBA解决方案来处理xlsx文件.如果可能的话,我想在R中完成所有操作,因此逻辑不必跨程序分割.

在这两者中:为单元格编写数据验证设置(与编写Excel公式相比)更为重要.用例是将R数据框写入Excel并包含用于进行更正的空列.对于空列,我想要为该列提供可接受值的下拉列表(例如"是"/"否").

提前致谢.

r xlsx xlconnect openxlsx

7
推荐指数
1
解决办法
1393
查看次数

标签 统计

r ×10

xlconnect ×10

excel ×5

xlsx ×2

cat ×1

download ×1

openxlsx ×1

rjava ×1

shiny ×1

windows ×1