2011-07-19 10 views
0

2番目のシートのすべてのデータを、それぞれのExcelファイルから新しいExcelファイルに抽出することは可能ですか?私はフォルダに巨大なExcelファイルがあることを意味し、私は新しいExcelファイルのそれぞれのExcelファイルのすべての2番目のシートを抽出したいと思います。シート名は同じではありません。巨大なExcelファイルから特定のシートを新しいExcelファイルに抽出します。

fns = dir('*.xls'); 
for i = 1:length(fns) 
s=xlsread('fns(i).name', 2); %read second sheet for each .xls file 
xlswrite('newfile.xls'); %write the second sheet to newfile.xls 
end 

私は上記のコードに問題があります。誰でも助けることができますか?

+0

これまでに何を試みましたか? [xlsread'の文書(http://www.mathworks.com/help/techdoc/ref/xlsread.html)によると、整数で識別される個々のシートを扱うことができます。 'xlswrite'もそうです。あなたはそれらを適用する際に助けが必要ですか? –

答えて

2

は、ファイルの次のような構造を考えてみましょう:

ここ
in\ 
|__ Book1.xls 
|__ Book2.xls 

たちは、ディレクトリin内の各XLSファイルからセカンドシートを読ん例であり、中に新しいファイルout.xlsにシートとしてそれらすべてを書き出します現在のフォルダ:

dirName = 'c:\path\to\in'; 
files = dir(fullfile(dirName,'*.xls')); 
files = {files.name}';     %' 

SHEET_NUM = 2; 
for i=1:numel(files) 
    [~,~,rawData] = xlsread(fullfile(dirName,files{i}), SHEET_NUM); 
    xlswrite('out.xls', rawData, i); 
end 
関連する問題