Matlab:默认情况下在Matlab外部打开文件

时间:2014-02-27 11:53:31

标签: excel matlab

我正在寻找一种方法,通过双击文件,直接通过双击文件,在Matlab文件夹中打开Excel文件(在大多数情况下通过MS Excel),而不是右键单击并选择“打开”在Matlab之外。

使用Matlab构建的.xls文件阅读器对于大文件来说速度非常慢,不必要的双击文件可能需要相当长的时间才能使Matlab无响应。

感谢。

2 个答案:

答案 0 :(得分:3)

单击“当前文件夹”选项卡中的某些内容时,它实际上正在运行open命令,该命令本身调用finfo以确定给定扩展名的“打开”含义。您可以通过在open.m行后直接在[~, openAction] = finfo(fullpath);中创建断点并双击 - 当它到达断点时您会看到它返回openActionuiimport

理论上,您可以通过在路径上创建函数openabc来创建扩展的自定义方法,其中abc是扩展名,应该作为openAction返回。

但是,如果我查看我的finfo.m,它首先搜索所述函数,然后无论是否找到它们,如果有内置方法,它都会用标准行为覆盖它们。甚至还有评论:

% this setup will not allow users to override the default EXTread behavior

如果你愿意在内置产品中捣乱,你可以这样做(先备份! - 这可能会影响其他事情)。我是通过像现在的finfo这样遮蔽来暂时做到的:

edit finfo.m(现在将副本保存到当前文件夹)

在定义openAction的循环之后添加这些行(在我的版本中,在第85行附近):

if any(strcmp(['.' ext], matlab.io.internal.xlsreadSupportedExtensions))
    openAction = 'winopen';
end

在包含已修改finfo.m的文件夹中,输入which finfo -all。您应该看到两个副本,MATLAB标记为阴影。从当前文件夹窗口打开内容现在应该在外部打开Excel。

答案 1 :(得分:0)

我不相信有任何直截了当的方法。它内置于MATLAB中,当您双击它们时,Excel文件将在导入工具中打开,并且无法更改它。

您可以通过将Excel文件的文件扩展名更改为.xls.xlsx以外的其他内容来解决此问题。这将阻止MATLAB在导入工具中打开它。然后在Windows中,您可以将新文件扩展名与Excel关联。