我试图只运行简单的代码
f = xlsopen('Libro1.xlsx');
我在Windows 10中使用octave 4.0.3,java版本8更新111 1.8.0_111-b14
从我迄今发现的结果来看:
已经卸载它,并再次安装,
确保路径中没有非ASCII字符,
安装了最新的java版本(不是很重要吗?据说octave windows安装程序为你安装了一个版本)
加载了两个窗口和io pkgs
io版本2.4.3和Windows版本1.2.4
我仍然收到此错误:
警告:fopen:'C:/ Users / tommy / Documents / Octave \ Libro1.xlsx'通过搜索加载路径警告找到:从xlsopen在第241行第7列调用xlsread在第197行第11列prueba4在第2行第3列检测到XLS接口:COM *;警告:未找到Java支持(没有Java JRE?没有安装和加载Java pkg?)警告:尝试打开或创建文件时出现ActiveX错误C:\ Users \ tommy \ Libro1.xlsx警告:COM_spsh_open:返回值列表中的一些元素是未定义的文件Libro1.xlsx无法解压缩 . 它是正确的文件格式吗?警告:OCT_spsh_open:返回值列表中的某些元素未定义无 . 警告:xlsopen.m:no'.xlsx'电子表格I / O支持可用接口 . 警告:xlsread:返回值列表中的某些元素未定义d =
已经看过各种线程,即使是一个具有完全相同的消息,但是,安装java解决了它,或者找到了另一个解决方案,但没有在线程上报告 .
2 回答
第一:我只在探测几个接口时看到你的帖子中的警告(没有错误),我猜xlsopen会自动使用OCT接口,之后
f
有效 . 有几个接口可以使用io包读取xlsx . 见here . 我建议安装JRE或JDK的OCT接口没有't have dependencies. If you really want a java based interface you' ve,安装了支持Java的Octave .编辑:现在我看到您的文件Libro1.xlsx isn 't located in your working directory and it looks like you'已使用
addpath
添加您的Libro1.xlsx所在的文件夹,因此"warning: fopen: 'C:/Users/tommy/Documents/Octave\Libro1.xlsx' found by searching load path" .但"addpath"不被认为是为fopen添加目录 .
cd
到你的Libro1.xlsx所在的目录(这样你在执行ls
时看到它列出)或用fullfile
创建一个完整的文件名并在xlsopen
中使用它我会把它作为评论,但我没有足够的声誉
Octave启用了java
检查(从Octave控制台)的输出以确定您是否具有支持Java的Octave安装
它应该返回
ans = 1
检查JAVA_HOME
并检查您的
JAVA_HOME
环境变量这应该是您的JRE的路径(例如
ans = C:\Program Files\Java\jre1.8.0_91
)兼容的架构
Octave是否与JRE构建相同的架构?
从命令行运行
如果它在任何地方都显示'64-bit',那么它是64位,否则它是32位 .
从Octave终端
意味着Octave它是为64位编译的 .
新的Octave会话还将显示unofficial file list上找到的64位版本的信息
Octave was configured for "x86_64-w64-mingw32"
(如果它是32位,我不会确认该消息是什么) .