问题标签 [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 回答
678 浏览

rstudio - RStudio - XLConnect - 加载 xlsx 工作簿

运行以下代码时:

我收到以下错误:

我与 Martin Studer 联系过,问题可能是由多个版本的 xmlbeans 引起的。

我尝试使用 tattletale 和 jarfish 找到这些,但只能找到一个版本 xmlbeans-2.6.0.jar。

由于我的 java 知识不存在,而我的 R 知识非常初级,我需要一些具体的帮助来解决这个问题。

其他感兴趣的事情:

R 中 sessionInfo() 的输出:

输出自cat(getOption("java.stacktrace")):

输出自rJava::.jclassPath():

0 投票
1 回答
235 浏览

r - 使用 XLConnect 书写时如何删除字符 '?

我想将数据框导出到 xls 文件。我找到了 XLConnect 库,它很容易使用,但我不介意尝试其他东西。

我遇到的问题出在输出(xls 文件)中。由于我的数据框包含像“A_B”这样的字符串,因此输出在每个整数之前都包含字符“。这对我来说是个问题,因为我需要 OpenOffice 来检测带有整数的列,以便以后能够应用公式。

这是一个没有任何问题的小例子,这意味着 xls 文件中的每个条目都是一个整数。

在以下示例中会出现此问题。

在最后一个示例中,xls 文件中的第一个条目是 '0,它在 OpenOffice 中未被检测为整数。

有没有办法从输出数据中删除字符 ' ?

谢谢

0 投票
0 回答
101 浏览

r - 使用 Shiny 交互修改表格

我正在尝试创建一个界面,我可以在其中以交互方式永久修改给定源 csv 的列值。它的功能必须有点像 MS excel - 显示整个表格,我可以动态更改列值,并且生成的修改反映在保存在特定服务器目录中的源 csv 中。我想知道 R shiny 是否可以做到这一点。我在创建流体/反应性页面和操作显示(列显示、复选框、滑块、过滤等)方面有经验,但我不知道如何使用 Shiny GUI 修改源数据本身。有人可以提供一些方向吗?需要什么包(如果可用)等。我对源 csv 具有完全写入权限,因此凭据不是问题。

一旦我有了一些牵引力,我计划将操作扩展到数据库。提前致谢!

0 投票
1 回答
3141 浏览

r - XLConnect 函数未将参数传递给 system.file

我对 XLConnect 库有疑问。它的 system.file 函数,我只见过与它一起使用

其中文件总是等于一个字符串。但是,我有一个字符串列表,其中包含每个文件的文件名。我在遍历列表的 for 循环中有这个。无论出于何种原因,即使文件对象具有等效的“soandso.xlsx”,file1 也是空的。

所以我的问题是我需要文件是一个字符串吗?

编辑#1:所以我从使用给我一个单独的错误的 XLConnect 库切换到 xlsx 库,至少现在,我可以让代码运行,尽管有不同的错误。

我认为我正在取得进展,因为我的代码在第一个循环之后没有成功运行(因为 k 增加到 2)并且我有一些东西填充了我的数据集变量(我存储“read.xlsx2”响应的地方)。

我附上了我当前错误的截图:

我的 R Studio 的屏幕截图

编辑#2:

https://www.dropbox.com/s/s9413oee146v497/Q1%2C%202011%20-%20Halton%2C%20all%20home%20types.xlsx?dl=0 https://www.dropbox.com/s/ tgaup2ihnlq7br2/Q4%2C%202015%20-%20Halton%2C%20condo%20types.xlsx?dl=0

我已经包含了需要附加的 2/60 文件。我目的地的所有文件都是 Excel 文件,它们有 10 列宽和可变行长 - 由于新区域或只是被重命名的区域。我得到的新错误是:

另外:警告消息:在 unzip(xlsxFile, exdir = xmlDir) 中:从 zip 文件中提取时出现错误 1

编辑#3:

source('~/.active-rstudio-document', echo=TRUE)

抱歉,我仍然遇到问题,但我知道问题出在哪里。由于某种原因,作为文件打印的文件前面带有“~$”,当我只输入文件名“Q1, 2011 - Halton, all home types.xlsx”作为文件时,它可以工作,我得到的数据是输入到数据框中。现在这个问题我显然不能大量导入 60 个不同的 Excel 名称......

0 投票
1 回答
893 浏览

r - 我可以使用 XLConnect 将模板工作簿中的单元格样式应用到新工作簿中的单元格吗?

我正在编写一些 R 代码,它从许多 Excel 工作簿中读取工作表,识别满足特定条件的单元格,然后将这些相同的工作簿与识别出的感兴趣的单元格以粗体字体保存。因为这是一种效率工具,所以我不想进入我计划在其上运行代码的每个工作簿并添加自定义的“粗体”单元格样式。

我的计划是从模板工作簿中读取单元格样式:

然后,我想使用模板工作簿中的样式在新工作簿中创建粗体单元格:

但是,尝试这样做会导致错误:

“错误:IllegalArgumentException (Java):此样式不属于提供的工作簿 Stlyes 源。您是否尝试将一个工作簿中的样式分配给不同工作簿的单元格?”

显然,我无法将一个工作簿中的单元格样式应用于另一个工作簿中的工作表。对于 R 中的解决方法有什么建议吗?

谢谢你。

0 投票
0 回答
94 浏览

r - 如何使用 readWorksheetFromFile 获得更精确的十进制数?

我正在使用XLConnect包将 .xls 文件导入到 R 中(不想处理gdataperl可执行文件)。但是readWorksheetFromFile是四舍五入到第一个小数点。我阅读了文档并环顾四周,但找不到控制数字精度的选项。

0 投票
1 回答
76 浏览

r - XLConnect '环境' 错误

我管理许多 Excel 报表,并使用 R 进行预处理并编写输出报表。这很棒,因为我所要做的就是运行 R 函数并分发报告,而其余的报告编写时间都是非活动时间。报告需要采用 Excel 格式,因为它最容易传播,而且受众众多且非技术人员。对数据进行预处理后,我可以非常非常简单地使用 XLConnect:

但是,当我尝试写入新数据时,我的一份报告开始抛出此错误:

此外,在抛出错误之前,该函数会占用 R 15 分钟。正常写入时间小于10秒。我必须承认,我什至不明白这个错误是什么意思,它并没有屈服于我通常的调试方法或任何其他 SO 解决方案。

我注意到其他人提到了 rJava(重新安装这个包不起作用)和日志文件的 Java 缓存(不确定它在 Mac 上的位置)。我特别困惑,因为报告在前一天使用完全相同的过程运行没有问题,而我使用完全相同的过程的其他报告仍然可以正常工作。

我没有更新 Java 或 R 或​​我的操作系统,也没有调试/重写任何 R 代码。那么,从头开始 - 我该如何调查这个“环境”错误?如果你在我的鞋子里,你会怎么做?我已经为此工作了几天,我很困惑。

如果它能为比我更有眼光的程序员提供更好的上下文,我很乐意提供额外的信息:)

0 投票
1 回答
135 浏览

r - 如何通过忽略文件路径中的某些字符来读取 csv 文件或加载 excel 工作簿?

我正在编写一个循环脚本,该脚本涉及从工作簿中读取文件(使用包 XLConnect)。挑战在于文件名包含我想忽略的字符(代表时间)。

例如,以下是这些文件的 3 个路径:

G://User//Documents//daily_data//Op_Schedule_20160520_132025.xlsx G://User//Documents//daily_data//Op_Schedule_20160521_142805.xlsx G://User//Documents//daily_data//Op_Schedule_20160522_103052.xlsx

我需要导入数百个这些文件。我可以很容易地解释代表日期的字符串(例如 20160522),而不是时间。

有没有办法告诉 R 忽略文件路径中的某些字符?以下是我对编写脚本的想法(“???”是我需要帮助的地方)。我知道循环可能不是最有效的方法,但如果您有任何建议,我愿意接受:

`

感谢您的阅读和建议,如果有的话。

马修

0 投票
0 回答
49 浏览

r - 具有 18GB RAM 的 64 位 Windows m/c 上的 R v3.3.0 - 将数据帧加载到 excel 时出现内存问题

我是 R 世界的新手,所以,如果这个问题很幼稚,请多多包涵。

问题:我正在尝试将一堆数据框加载到同一个 Excel 文档的不同工作表中。每个数据帧有大约 400-500K 对象和大约 60-70 个变量。我尝试使用不同的包XLConnectopenxlsx执行这个任务,但是,它们每个包都会将内存增加到MAX(R 使用大约 13 GB;最大可用- 18GB)并最终失败。当我单独加载每个数据帧时,Ut 起作用。我知道 R 首先将这些数据帧保存在内存中,然后将其转储到一个 excel 文件中,但我不明白为什么它会耗尽所有可用内存。加载了所有数据帧的 excel 文件仍然只有 500MB 文件。

我使用 XLConnect 使用了以下内容:

PS 我在具有 18GB RAM 的 64 位 Windows Server 2012 上运行 3.3.0 版本的 R。

0 投票
1 回答
1365 浏览

r - R. 将列表导出到 Excel 中的单个工作表

我想将不同大小的对象列表导出到单个 Excel 工作表。换句话说,我希望显示一个矩阵,然后在其下方显示下一个矩阵。下面是一个使用 XLConnect 的简单示例:

现在,mat1 只是简单地写在 mat2 的顶部。