代码如下:
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来控制输出格式
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即可终止运算
请发表评论