matlab将数据写入excel,创建table按照格式输出

上代码

clear all
clc
close all


XlsxPATH = 'D:\file\myexcel.xlsx';      % 输出的excel表格所在位置及名称
a=[68,15,66];						    % 随便设置点数据,我示例一维数组
x=[34,15,16];
b=[0];
y=[98,88,72];
c=[20,36];
z=[0];

% 如果文件不存在的话,就创建一个
if~exist(XlsxPATH,'file')
    for i=1:size(a,2);
    									% size内的3应是表格元素最长的长度
        if i>1
            b(end+1)=0;					% 因为b和z内我没有给有效数据,写入table的时候需要数据整齐、行数相同,以零占位
            z(end+1)=0;
        end
        
        if i>size(c)
            c(end+1)=0;  				% c内数据与最长的数据长度相比不够长,以零补位
        end
    end
    T = table(a‘,x’,b‘,y’,c‘,z’,'VariableNames',{'AA','XX','BB','YY','CC','ZZ'});
    									% 前面的axbycz由于是1*m的矩阵,我想纵向输出m*1的数据,就需要将矩阵转置如:a'
    									% 根据你的列表创建table ,每一列的名称可以自己设
    writetable(T,XlsxPATH,'WriteRowNames',true);   %把创建好的table写进表格
else
    [tmp1,tmp2,tmpRaw]=xlsread(XlsxPATH);

    if size(tmp1,1)==0&&size(tmp2,1)==0 % 是否是空文档
      mRowRange='1';
    else
      mRowRange=num2str(size(tmpRaw,1)+1); % 如果存在数据,保持原状不改动
    end
end

运行后结果

matlab将数据写入excel,创建table按照格式输出_第1张图片

试试吧,代码我这调通无报错的

你可能感兴趣的:(matlab,matlab,excel)