我有一个包含超过20张的Excel文件。我正在Matlab中编写一个模块,我需要检查一个特定的工作表是否说例如'SalaryData'出现在Excel文件中。
我无法使用xlsinfo
我认为,此功能在我目前使用的Matlab版本中不可用。
我打算使用actxserver来检查工作表是否存在。我目前正在做的是:
SheetExist=1;
try
sheet = get(Excel.Worksheets,'Item',sheetname);
catch
disp('File Does not exist');
SheetExist=0;
end
我认为有更好,更简单的检查方法。
由于
答案 0 :(得分:2)
您可以使用xlsfinfo功能:
[~, sheets] = xlsfinfo(filename);
ismember(sheetname,sheets);
请注意,使用ismember函数,工作表名称区分大小写!如果您想要不区分大小写,请使用循环和strcmpi。
编辑:刚刚注意到你对xlsinfo:p的评论 你确定它不可用吗?你提到xlsinfo不可用,但实际的函数叫做xlsfinfo!注意' f'介于' xls'之间和'信息'
答案 1 :(得分:0)
这会有帮助吗?
SheetExist=1;
Set ws = Sheets(“sheet_name”)
If ws Is Nothing Then SheetExist=0