1

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

もっと簡単にチェックできる方法があると思います。

ありがとう

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 に答える