最近接触到一个新的需求,需要使用matlab从excel读取数据,经过matlab处理后,写回到excel中;这里需要每次换行写数据,并且数据的个数每次都在发生变化,终于,找到了解决方法,下面是我的一个test,有用就拿去!

每次需要写4n个数据到excel,因此,每次写数据需要一个新的起点;之前一直纠结’A2:D4’如何每次修改,在c语言的启发下,发现这就是一个字符串,因此,我用num2str转换一下就好了,数字可以每次发生变化,然后套一个num2str,就可以第一次写在表格的’A1:D1’,第二次写在表格的’A2:D3’,第三次写在表格的’A4:D6’…

学废了嘛,学废了扣1,没学废扣眼珠子

clc;clear;close;
A_index=1;
for n=1:10
    data1=1:n;
    data2=1:n;
    data3=1:n;
    data4=1:n;
    result=zeros(n,4);
    result(:,1)=data1';
    result(:,2)=data2';
    result(:,3)=data3';
    result(:,4)=data4';
    len=length(data1);
    
    D_index=A_index+len-1;
    xlswrite('result.xlsx',result,'sheet1',['A',num2str(A_index),':D',num2str(D_index)]);
    A_index=A_index+len; 
end