2012-05-02 122 views
1

我有一個包含20多個工作表的Excel文件。我正在Matlab中編寫一個模塊,我需要檢查某個特定的工作表是否在Excel文件中存在例如「SalaryData」。如何檢查工作表是否存在於Excel文件中

我無法使用xlsinfo我覺得這個功能在我目前使用的Matlab版本中不可用。

我打算使用actxserver來檢查工作表的存在。我目前正在做的是這樣的:

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

我認爲有一個更好,更簡單的方法來檢查。

謝謝

+0

可能的重複:http://stackoverflow.com/questions/6040164/excel-vba-if-worksheetwsname-exists –

+0

我不知道matlab,但這看起來對我來說很合適。 –

+0

@Steve Robillard:不,不重複,這個問題是matlab,而不是VBA –

回答

0

這會有幫助嗎?

SheetExist=1;  
Set ws = Sheets(「sheet_name」) 
If ws Is Nothing Then SheetExist=0 
+0

非常感謝您的時間。它是VBA代碼嗎?我所嘗試的是非常相似的。我正在尋找一個類似於matlab中'exist()'的函數。 – Kiran

2

可以使用xlsfinfo功能:

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

注意,SHEETNAME區分使用ismember功能敏感!如果你想不區分大小寫,使用循環和strcmpi

編輯:只是注意到你對xlsinfo的評論:p 你確定它不可用嗎?你提到xlsinfo不可用,但實際的函數叫做xlsfinfo!注意'xls'和'info'之間的'f'

+0

太棒了,我錯過了'xlsfinfo'中的'f'。我剛剛放下了一個f字..安靜直譯.. :)謝謝 – Kiran

相關問題