怎么在for循环中使⽤xlswrite函数把数据输出到Excel表格MATLAB循环中⽤变。。。代码如下:
clear all
clc
k=1;
kk=[{char('r1')},{char('T1')}];
xlswrite('DriverInfo.xls',kk,'sheet1',['A',num2str(k)]);
for i=2:9
k=k+1;
a=i;
b=i+1;
kk=[a,b];
xlswrite('DriverInfo.xls',kk,'sheet1',['A',num2str(k)]);
end
效果如下所⽰:
我的数据⽂件
1  5  2.1
2 9.8 -4.4
3 15 1.8
4 20 -3.2
5 25 2.6
6 30 -1.3
7 35 2.3
matlab数组赋值8 40 -1.2
9 45 -4.4
10 49.6 -0.9
现希望将数据⽂件输出到data.xls中,我的代码如下,每个数据占⼀个单元格,这条可以实现,但是输出的excel⽂件中,数据在单元格靠右输出,不知道如何使得数据和表头⽂字居中排列,希望⾼⼿指点!
A=load('D:\')
B=[A(:,1)';A(:,2)';A(:,3)'];
fid=fopen('D:\data.xls','wt');
sour={'测序编号','数据1','数据2'};
fprintf(fid,'%s\t%s\t%s\n',sour{1},sour{2},sour{3}); %⽤\t(tab分隔符)使得每个数据占excel⼀个空格
fprintf(fid,'\n%d\t%6.1f\t%6.1f',B);
fclose(fid);
问题补充:要由matlab来控制输出格式
clear all
%建⽴⼀个元胞数据header,有⼀⾏两列
header=cell(1,2);
%header第⼀⾏第⼀列内容为 filename
header{1,1}='filename';
%header第⼀⾏第⼆列内容为 Lissajous figure Area
header{1,2}='Lissajous figure Area';
%在路径下新建Area.xls,要写的变量为header,写在在Area.xls中新建的A⼯作表中,且在A的A1:B1范围
xlswrite('E:\Program Files\MATLAB\R2013a\Area.xlsx',header,'A','A1:B1');
%初始化两个变量
Area1=0;ki=1
for i=1:10
Area1=Area1+i;ki=ki+1;
%定义range,即cellname变量内容为⼀个拼接⽽成的字符串,即Aki:Bki,但直接这样写就不⾏,因为ki为数字
cellnames=['A',num2str(ki),':B',num2str(ki)]
%拼接字符串变量tileH,内容为c25ki,
tileH=['c25',num2str(ki)];
%新建并赋值给数组data,
data{1,1}=tileH;data{1,2}=Area1;
%写⼊excel表格中
xlswrite('E:\Program Files\MATLAB\R2013a\Area.xlsx',data,'A',cellnames);    end
注意:在主界⾯⼯作窗⼝同时键⼊ctrl+c即可终⽌运算

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。