matlab写入excel

matlab写入excel的实现方式

一、表格大小确定

table_sz = [10, 6];
varType = {'double', 'double', 'double', 'double', 'double', 'double'}; 
NewTable = table('Size', table_sz, 'VariableTypes', varType, 'VariableNames', ...
                 ColName, 'RowNames', title);
% table 赋值时需要右边是table或者cell 类型
for idx = 1:size(Result, 1)                 
    result = num2cell(cell2mat(Result(idx, :))');
    NewTable(idx, :) = result;
end

% 写入excel
saveName = fullfile(fileList1(3).folder, strcat(FileName, '.xlsx'));       % 写入excel的路径拼接
writetable(T, saveName)
RunInfo = sprintf('{%s} Finish!', FileName);
disp(RunInfo)
  1. 在定义table时必须指定变量类型和table的size
  2. 定义的Rownames 和 VariableNames的size应该和table的size匹配
  3. 因此Result的保存类型应该在定义时设置。或者去修改也可
  4. matlab写入excel中使用table可以将table设置为标准的excel样式,再写入

二、 表格大小动态生成

varType = ["double", "double", "double", "double", "double"]; 
figureName = ["全频段", "δ频段", "θ频段", "α频段", "β频段"];
figTitle = ["术前", "术中", "术后1天", "术后2天", "术后3天"];
rowName = ["Fullband"; "delta_abs"; "delta_rel"; "theta_abs"; "theta_rel"; ...
            "alpha_abs"; "alpha_rel"; "beta_abs"; "beta_rel"; "APFval"; "APFLoc"];
% table设置格式
    dataTable = [];
    for m = 1:size(Result, 2)
        for n = 1:size(Result{m}, 1)
%             data_table = Result{m}(n,:);
            dataTable = [dataTable; Result{m}(n,:)];
        end
    end

    [row, col] = size(dataTable);
    table_sz = [row, col];
    varType_table = cellstr(varType(:,1:col));
    newTable = table('Size', table_sz, 'VariableTypes', varType_table, ...
                'VariableNames', figTitle(:, 1:col), 'RowNames', rowName);

    % 写入excel
    for idx_table = 1:size(dataTable, 1)
        newTable(idx_table,:) = num2cell(dataTable(idx_table, :));
    end

    tableName = strcat(fileList(i).name, '.xlsx');
    tablePath = fullfile(fileList(i).folder, fileList(i).name, tableName);
    writetable(newTable, tablePath, 'WriteRowNames', true)
  1. 若表格的size并不确定,可将定义表格大小的代码写入到循环中,根据生成的待存储数据生成特定大小的table;同理数据类型也可根据此来切片,但是要注意格式的转换
  2. 写入excel中时需要将行名称也同样写入,因此只需要将WriteRowNames参数设置为True
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值