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

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

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

谢谢

你可以使用xlsfinfo函数:

 [~, sheets] = xlsfinfo(filename); ismember(sheetname,sheets); 

请注意,通过使用ismember函数,sheetname是区分大小写的! 如果你想不区分大小写,使用循环和strcmpi 。

编辑:只注意到你对xlsinfo的评论:p你确定它不可用? 你提到xlsinfo是不可用的,但实际的function叫做xlsfinfo! 注意'xls'和'info'之间的'f'

这会有帮助吗?

 SheetExist=1; Set ws = Sheets(“sheet_name”) If ws Is Nothing Then SheetExist=0