问题标签 [xlconnect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
544 浏览

java - Rjava 64位错误

当我使用包XLConnectrJava.

我在这个社区的任何线程中都没有看到这个特定的错误。虽然我确实相信这个问题与其他一些线程有关。

我已经下载了 64 位 java,并尝试使用以下方法修复 java 的路径: Sys.setenv(JAVA_HOME='C:\Program Files\\Java\\jre1.8.0_65\\bin\\client\\jvm.dll')

0 投票
1 回答
204 浏览

r - XLConnect 导致空单元失败

我有一堆 Excel 电子表格,我需要从中读取某些单元格。我已经建立了一个循环来遍历所有工作簿和工作表,但是为了简化我已经放弃了下面问题中的循环。

并非所有工作表或单元格都会填充数据,但如果单元格为空白,XLConnect 会返回一个空数据框,从而导致错误。

要重现,xlsx请在您的工作目录中创建一个名为testFile.xlsx. 在 上,在单元格和Sheet1中键入您想要的任何内容,然后保存并关闭文件。然后运行下面的代码。A1B2

第一个将返回:

第二个将返回:

有什么办法可以使这项工作?我已经搜索过,发现它XLConnect有一个SetMissing功能,但它似乎是用于定义像blankto之类的字符串NA

0 投票
1 回答
2948 浏览

java - R - 无法安装 xlsxjars,64 位 Windows 但试图加载 i386

我已经解决这个问题太久了,欢迎任何帮助。我终于安装并加载了 rJava,作为其中的一部分,我安装了 64 位 JRE 和 JDK。R 版本 3.2.2,64 位,在 64 位 Windows 7 上运行。尝试安装 xlsxjars(用于 xlsx 包)会出现很长的错误:

我专注于 i386 vs 64 架构,但我不确定这是否是现在的核心问题。我尝试手动将 JAVA_HOME 设置为下面的地址,并设置为 = "",但无论哪种方式都会出现相同的错误。

我还安装了 32 位 JDK,以防万一可以解决问题但没有骰子。这可能更多是关于 Java 而不是 xlsxjars,因为我尝试安装 XLConnect 作为解决方法,但遇到了类似的错误:

0 投票
2 回答
2183 浏览

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

我正在尝试XLConnect在 R 中使用库。如果我执行

我收到以下错误消息:

为了解决这个问题,我首先设置了JAVA_HOME变量:

看起来它可以帮助我走得更远,但后来我遇到了另一个问题:

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

添加

请注意,该rJava.dll文件存在并且位于 R 正在搜索它的位置。我想问题在于 32 位和 64 位版本之间的不兼容。我假设因为 R 抱怨:

好吧,为什么 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 位版本)。

0 投票
1 回答
113 浏览

vectorization - R 中的 XLConnect 是否针对 writeNamedRegion() 进行了矢量化?它的语法是什么?

如果可能,我想使用 R 中的 XLConnect 使用矢量化在 Excel 工作簿中的多张工作表中写入 NamedRegions。

我有一个清单:trya $grp1 var1 var2 var3 1455100 459 21 459

$grp2 var1 var2 var3 936710 463 20 463

我有一个工作簿模板(wb1),其中包含一个工作表(Sheet1),其中包含命名区域(每个单元格)。Sheet1 中的命名区域命名为:“varn1”、“varn2”、“varn3”

我可以克隆 Sheet1 来创建单独的工作表来包含 trya 中每个 grp 的数据。

cloneSheet(wb1, sheet="Sheet1", name = names(trya))

但是..我如何在这些表中写入 NamedRegions?我很高兴使用 3 个单独的通道,每个 NamedRegion 一个通道写入多个工作表。这是我从 NamedRegion "varn1 的代码开始:使用代码示例是 writeNamedRegion(object,data,name of region,header,rownames)

writeNamedRegion(wb1, trya??? ,name = "varn1",header = FALSE)

我不知道 1. 如何一般地挑选出 trya 的元素,例如:trya[[1]]$var1?2.如何遍历克隆的工作表,命名为....名称(trya)?

任何帮助将不胜感激。简

0 投票
1 回答
960 浏览

r - XLConnect::readWorksheet 函数出错

我有一行 R 代码给了我一个错误。代码行是:

wheredir.censo保存 excel 工作簿的目录路径,arq.variaveis是保存文件名的变量的名称。自然sheet.variaveis拥有我需要的工作表的名称。该文件保存为 XLSX。这是错误:

我在网上搜索了这个错误,但没有出现。如果您能帮我解决这个问题,我将不胜感激。一些系统信息以备不时之需:

操作系统:Windows 10

R版本:3.2.3

RStudio 版本:0.99.473

Java版本:8.0_66

再次,非常感谢。

0 投票
1 回答
6677 浏览

java - 错误:无法在 mac os 中加载包“XLConnectJars”

当我在 R 中调用“XLConnect”库时遇到问题。

加载所需的包:XLConnectJars JavaVM:请求的 Java 版本((null))不可用。在 "" 处使用 Java。JavaVM:无法加载 JVM:/bundle/Libraries/libserver.dylib JavaVM 致命:无法加载 jvm 库。错误:'XLConnectJars' 的 loadNamespace() 中的 .onLoad 失败,详细信息:调用:.jinit() 错误:JNI_GetCreatedJavaVMs 返回 -1

错误:无法加载包“XLConnectJars”

此错误发生在我安装 XLConnect 并编写库(XLconnect)之后。

我用谷歌搜索了这个问题,但在我的情况下没有合适的解决方案。我已经安装了 Java 8 并检查了终端中的 java 位置。我在 mac OS X (10.10.5) 中运行 R

谢谢您的帮助。

0 投票
3 回答
5325 浏览

java - R - 错误:IllegalArgumentException(Java):您的 InputStream 既不是 OLE2 流,也不是 OOXML 流

我使用R XLConnect包。当我编写 ' XLConnect' 函数时,例如loadWorkbook(), readWorksheetFromFile()etc. ,会发生此错误消息。

错误:IllegalArgumentException (Java):您的 InputStream 既不是 OLE2 流,也不是 OOXML 流

如何解决这个问题呢?

在使用此功能之前,我采取了措施防止 R 和 Mac OS X 之间崩溃,顺便说一下http://www.r-bloggers.com/getting-r-and-java-1-8-to-work-together-on -osx/链接告诉。

我用过 Mac OS X。

0 投票
0 回答
215 浏览

r - 使用 XLConnect-Removed 功能生成 Excel 文件:格式来自 /xl/styles.xml 部分(样式)

我在 R 中使用 XLConnect 来生成每日报告。我有一个程序可以在特定时间自动运行,以将每天最近日期的数据附加到 Excel 文件(Excel 2007)中。该程序可以很好地完成这项任务。但是,有时当我打开 excel 文件时,它会说“Excel 发现无法读取的内容。你想恢复这个工作簿的内容吗?” 这个问题最好的部分是我无法再次重现此问题以了解问题的确切根本原因。它以随机方式出现。因为,当我尝试再次运行该程序时,它工作正常。有人可以帮我找出根本原因吗?

0 投票
0 回答
346 浏览

r - 将 XLConnect 工作簿对象作为数据存储在 R 包中会导致:错误:NullPointerException (Java)。

我正在创建我的第一个 R 包,以帮助同事执行一系列相对复杂的数据处理任务。我有很多 R 函数可以帮助数据清理和分析,但我正在尝试添加一些可以简化工作流程以提高速度和减少错误的东西。

我的用户当前必须执行的步骤之一是创建一系列特定的目录和子目录,稍后将在其中存储不同的文件。接下来,我有一个需要插入特定文件夹的 Excel 工作簿模板。目前,我可以使用 R 代码创建目录,但用户必须手动将 Excel 模板复制到正确的位置。我希望使用 R 函数自动执行此操作,因为我观察到如果手动完成此步骤很容易出错 - 将模板复制到错误的目录中,在错误的位置使用错误的模板版本,等等

值得注意的是,我尝试使用 R 函数重新生成的 Excel 工作簿模板非常复杂。它包含少量数据,然后是一堆格式和隐藏公式。由于遗留原因,工作簿模板必须保持原样。由于它的复杂性,我不确定我是否可以使用 R 函数从头创建模板,这些函数放入基础数据中,设置格式,然后设置复杂的公式规则而不会引入错误。

到目前为止,我的方法是使用:

myWB<-XLConnect::loadworkbook("C:/My Docs/Template.xlsx")

为了从我本地存储在我的机器上的 Excel 模板的副本创建一个 XLConnect“工作簿”对象。

如果我str()用来检查我新创建的工作簿对象,我会看到:

当我在同一个 R 会话中交互工作时,这非常适合复制 .xlsx 模板的副本。我可以用:

然后我可以进入“一些新文件夹”,果然,“我的 template.xlsx 的新副本”是我的原始模板的全功能副本,在新文件夹中。

问题是我希望我的 Excel 模板工作簿作为某种类型的对象存在于我的包中,R 可以使用该对象在安装了我的包的任何人的机器上重新创建工作簿,而无需获取Excel 文件,将其存储在某处,将其移动等。我尝试过,因此使用devtools::use_data(myWB)以将 myWB 对象作为数据存储在我的包的数据文件夹中作为 .rda 文件(我也尝试了此函数,内部设置为 FALSE为了将 myWB 作为 sysdata.rda 存储在 R/ 中)。

LazyData: TRUE然后我在描述文件中构建我的包。我想用来XLConnect::saveWorkbook(myWB,"C:/New folder/copy of template.xlsx")在正确的目录中复制我的模板以供包使用。包中的函数可以看到 myWB 对象,所以我知道它实际上是延迟加载的,当我检查时,str(myWB)一切看起来都完好无损:

但是,当我运行 XLConnect::saveWorkbook(myWB,"C:/New folder/copy of template.xlsx")` 时,出现以下错误:

我对Java一无所知,但我猜XLConnect创建的myWB对象是一个java对象,当我将对象作为数据保存在我的R包中时,我丢失了一些东西(指针?)。

我接下来要尝试什么?

谢谢你。

PS 我对 Stack Overflow 还很陌生,正在尝试学习如何提出一个好问题。我真的很难为这个问题创建一个可重现的示例,因为它需要您创建一个新的 R 包并手头有我的 Excel 模板的副本。幸运的是,错误似乎与我的模板的细节无关。我希望我在解释情况和我尝试过的方面做了合理的工作,但我会很感激有关创建更好问题的反馈。