有没有一种简单的方法可以在matlab中总结各种excel文件? 我真正想要的是
dos命令
输入文件* .xls> sumfile.xls
我有10-100个excel文件,文件名格式与日期不同 XXXXX_2010_03_03.xls,XXXXX_2010_03_03.xls等..... 是否有一个接一个地复制文件的命令。所有文件都是差异长度,所以我无法知道每个文件后行的位置。我想将它们复制到同一张excel中。
由于
答案 0 :(得分:1)
获取文件名
names=dir('XXXXX-*.xls');
names={names.name};
output='out.xls';
第一个档案。这将在每次运行此程序时覆盖输出 - 如果这是您想要的行为,则取决于您。
copyfile(names{1},output);
循环浏览文件
for i=2:length(names)
num_in = xlsread(names{i}); % read the data
num_out = xlsread(output);
range=['A' num2str(size(num_out,1)+1)]; % next free line
xlswrite(output, num_in, 1, range); %always write to the 1st sheet
end
如果(1)您只有数字数据,并且(2)您希望连接文件(自上而下),那么这应该有用。
如果(1)错误,请阅读xlsread
的帮助 - 查找txt
和raw
输出。
答案 1 :(得分:0)
使用xlswrite(filename, M, range)
依次编写文件。使用xlsread
将Excel文件读入M
。
xlswrite(filename,M,range)写入 矩阵M到矩形区域 由第一个范围指定 文件名的工作表。