使用matlab编程,有多个文件夹,每一个文件夹中有若干excel文件,同一文件夹中excel文件命名都是从1开始递增,需读取每个excel文件中第一张工作表中D101处位置上的数值,并该值导出到同一个excel中,按顺序排列
时间: 2023-05-24 14:05:29 浏览: 202
以下是使用Matlab实现所述需求的代码示例:
% 设置文件夹路径
folder_path = 'C:\Users\...\DataFolder';
% 获取文件夹中所有文件夹的名称
subfolder_names = dir(folder_path);
subfolder_names = subfolder_names(3:end); % 去除.和..
% 设置导出的excel文件名和工作表名
export_file_name = 'export_file.xlsx';
export_sheet_name = 'Sheet1';
% 创建导出文件
export_file = fullfile(folder_path, export_file_name);
if exist(export_file, 'file') == 2 % 如果文件已存在则删除
delete(export_file);
end
xlswrite(export_file, {'Excel File Name', 'D101 Value'}, export_sheet_name);
% 遍历文件夹中的所有文件夹
for i = 1:length(subfolder_names)
subfolder_path = fullfile(folder_path, subfolder_names(i).name); % 获取子文件夹路径
% 获取子文件夹中所有excel文件名
excel_files = dir(fullfile(subfolder_path, '*.xlsx'));
excel_files = struct2cell(excel_files);
excel_files = excel_files(1, :);
% 遍历子文件夹中的所有excel文件
for j = 1:length(excel_files)
excel_path = fullfile(subfolder_path, excel_files{j}); % 获取excel文件路径
% 读取D101处的数值
[~, D101_value] = xlsread(excel_path, 1, 'D101:D101');
% 将文件名和D101的数值导出到导出文件中
export_data = {excel_files{j}, D101_value};
xlswrite(export_file, export_data, export_sheet_name, ['A', num2str(end+1)]);
end
end
% 提示导出已完成
disp('Export completed.');
阅读全文