【问题标题】:How to check if the Worksheet exists in the Excel file如何检查工作表是否存在于 Excel 文件中
【发布时间】:2012-05-02 22:09:40
【问题描述】:

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

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

谢谢

【问题讨论】:

  • 我不知道 matlab,但这看起来对我来说很合适。
  • @Steve Robillard:不,没有重复,这个问题是针对 matlab,而不是 VBA

标签: excel matlab


【解决方案1】:

你可以使用xlsfinfo函数:

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

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

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

【讨论】:

  • 太棒了,我刚刚在“xlsfinfo”中错过了一个“f”。我刚刚丢了一个 f 字.. 从字面上看安静.. :) 谢谢
【解决方案2】:

这会有帮助吗?

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

【讨论】:

  • 非常感谢您的宝贵时间。是VBA代码吗?我正在尝试的非常相似。我在 matlab 中查看类似于exist() 的函数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-09
  • 1970-01-01
  • 2011-10-13
  • 1970-01-01
  • 2012-03-24
  • 2023-03-04
相关资源
最近更新 更多