Matlab:默认情况下打开文件“Matlab外”

我正在寻找一种方法,让我的Matlab文件夹中的Excel文件直接通过双击该文件,而不是右键单击并select“Open Outside Matlab”,在“Matlab外部”(即通过MS Excel) 。

Matlab中构build的.xls文件读取器对于大型文件来说可能非常慢,而对文件进行不必要的双击可能会花费相当一段时间,而Matlab没有响应。

谢谢。

在“当前文件夹”选项卡中单击某些内容时,它实际上正在运行open命令,该命令本身称为finfo以确定给定扩展名的“打开”是什么意思。 你可以直接在[~, openAction] = finfo(fullpath);之后在open.m创build一个断点来看这个[~, openAction] = finfo(fullpath); 并双击 – 当它击中断点,你会看到它作为uiimport返回uiimport

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

但是,如果我查看我的finfo.m它首先search所述函数,然后不pipe它是否find它们,如果有内置方法,则用标准行为覆盖它们。 甚至有一个评论:

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

如果你愿意在内部装修,你可能会这样做(备份第一! – 这可能会影响其他事情)。 我通过像现在这样阴影现有的finfo来暂时finfo这一点:

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

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

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

从包含您编辑的finfo.m的文件夹中,inputwhich finfo -all 。 你应该看到两个副本,一个标记为阴影的MATLAB。 从当前文件夹窗口打开某些东西现在应该从外部打开Excel。

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

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