• 怎么在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 %s %s ',sour{1},sour{2},sour{3}); %用 (tab分隔符)使得每个数据占excel一个空格
    fprintf(fid,' %d %6.1f %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 FilesMATLABR2013aArea.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 FilesMATLABR2013aArea.xlsx',data,'A',cellnames);
        end
     
    注意:在主界面工作窗口同时键入ctrl+c即可终止运算
  • 相关阅读:
    解决shiro多次从redis读取session的问题
    软件测试其他方法
    异常HTTP Status 500
    支付
    java面试
    SQL入门
    软件测试理论基础
    软件测试学习第一章
    Linux在终端命令行模式下智能补全功能以及组合键
    Linux安装
  • 原文地址:https://www.cnblogs.com/chuqianyu/p/13729351.html
Copyright © 2020-2023  润新知