1

我有一个包含 20 多张表格的 Excel 文件。我正在 Matlab 中编写一个模块,我需要在其中检查 Excel 文件中是否存在特定的工作表,例如“SalaryData”。

我认为我无法使用xlsinfo,此功能在我当前使用的 Matlab 版本中不可用。

我打算使用 actxserver 来检查工作表的存在。我目前正在做的事情是这样的:

SheetExist=1;
try
  sheet = get(Excel.Worksheets,'Item',sheetname);
catch
  disp('File Does not exist');
  SheetExist=0;
end

我认为有一种更好、更简单的检查方法。

谢谢

4

2 回答 2

2

您可以使用xlsfinfo函数:

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

请注意,通过使用 ismember 函数,工作表名称区分大小写!如果您想要不区分大小写,请使用循环和strcmpi

编辑:刚刚注意到您对 xlsinfo 的评论:p 您确定它不可用吗?您提到 xlsinfo 不可用,但实际功能称为 xlsfinfo!注意'xls'和'info'之间的'f'

于 2012-05-02T14:04:08.903 回答
0

这会有帮助吗?

SheetExist=1;    
Set ws = Sheets(“sheet_name”)
If ws Is Nothing Then SheetExist=0  
于 2012-05-02T09:58:33.420 回答