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关联。