1

我最近下载了 Octave,因为我需要将 .mat 文件转换为 .xls。

我将 .mat 文件导入到程序中,然后运行以下代码:
xlswrite('Elettra.xls', 'elettra_processed_data.mat')

但我得到了这个错误:

Creating file Elettra.xls
Supported interfaces: 
warning: No support for Excel .xls I/O
error: oct2xls: unknown Excel .xls interface - NONE.
error: called from:
error:   C:\Octave\3.2.4_gcc-4.4.0\share\octave\packages\io-1.0.11\oct2xls.m at line 100, column 3
error:   C:\Octave\3.2.4_gcc-4.4.0\share\octave\packages\io-1.0.11\xlswrite.m at line 160, column 6
>> Variables in the current scope:

 Name                 Size             Class           Bytes       
 ====                 ====             =====           =====        
 ans                  1x11             cell            92          
 dirlist              1x6              cell            18          
 ii                   1x1              double          8           
 old_format           1x45             char            45          
 processedData        1x1              struct          3978113     

Total is 64 elements using 3978276 bytes

有没有人有任何想法?我对这个程序不太熟悉。

4

2 回答 2

0

你的标题说明了这一点。Octave 没有内置支持从 Excel 读取/写入,因为 xlswrite 函数使用 Windows COM。话虽如此,有一些选项包括使用纯 java ,在博客Undocumented Matlab上进行了讨论。

你是什​​么意思“将.mat文件转换为.xls”你的意思是你想读入mat文件中的数据并在Excel中写出来?如果是这样,如果您没有合适的 Matlab,您将需要卷起袖子。

于 2012-08-03T15:42:44.857 回答
0

您可以先加载数据

load elettra_processed_data.mat

那么当前范围内应该有你的结构“processedData 1x1 struct 3978113”。由于我不知道结构中的内容,您只需调用名称即可找到

processedData

将有一个输出为您提供结构子元素的名称(可能包含大量数据):

processedData =
{
   lat = ...
   lon = ... 
   positions = ...
}

如果您找到要保存的数据(假设它在位置),您可以致电

csvwrite("Elettra.csv", processedData.positions);

以及可以使用 Excel 打开的 Elettra.csv。

于 2012-08-17T16:21:49.393 回答