怎么在for循環中使用xlswrite函數把數據輸出到Excel表格 && MATLAB 循環中用變量控制寫入excel位置


代碼如下:
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

效果如下所示:

 

 

我的數據文件data.txt
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
8 40 -1.2
9 45 -4.4
10 49.6 -0.9
現希望將數據文件輸出到data.xls中,我的代碼如下,每個數據占一個單元格,這條可以實現,但是輸出的excel文件中,數據在單元格靠右輸出,不知道如何使得數據和表頭文字居中排列,希望高手指點!
A=load('D:\data.txt')
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即可終止運算


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM