如何检查Excel文件中是否存在工作表

时间:2012-05-02 09:51:56

标签: excel matlab

我有一个包含超过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

我认为有更好,更简单的检查方法。

由于

2 个答案:

答案 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