如何使用循环将Matlab中数组单元的内容写入Excel?

时间:2019-06-03 06:27:49

标签: matlab

我正在尝试将单元格数组内容写入excel工作表,该单元格数组为(1x4)单元格。

第一个cell({1,1})包含字符串(glcm11),第二个cell({1,2})包含(glcm12),第三个cell({1,3})包含({{1 }}),第四个单元格是(glcm13)。

我想写以下字符串:{glcm14到范围glcm11,glcm12,glcm13,glcm14和{a2:25到范围glcm21,glcm22,glcm23,glcm24),{a6:a9到范围{{1 }})

我如何使用循环在Matlab代码中将这些单元格写入Excel工作表?

1 个答案:

答案 0 :(得分:0)

要写5次无循环的单元格数组:

filename = 'glcm.xlsx';

% Create a cell array in the form:
% {'glcm11'}    {'glcm12'}    {'glcm13'}    {'glcm14'}
% {'glcm21'}    {'glcm22'}    {'glcm23'}    {'glcm24'}
% ...
% {'glcm51'}    {'glcm52'}    {'glcm53'}    {'glcm54'} 
C = compose('glcm%d%d',(1:5)',1:4);

% Reshap the cell array to one column in the form:
% {'glcm11'}
% {'glcm12'}
% {'glcm13'}
% {'glcm14'}
% {'glcm21'}
% {'glcm22'}
% {'glcm23'}
% {'glcm24'}
% ...
% {'glcm54'}
C = reshape(C', [numel(C) 1]);


% Write cell array starting frim 'A2':

% For Matlab R2019a and newer:
writecell(C,filename,'Range','A2');

% For older versions of Matlab:
xlswrite(filename,C,1,'A2')