使用MATLAB的writetable()跟踪excel中的换行符

时间:2016-02-02 18:25:07

标签: excel matlab

我正在尝试使用writetable()编写包含excel的字符串的MATLAB表。我希望excel中的文本以换行符结尾,这是一个空白行,上面没有任何内容。但是,我似乎无法编写尾随新行。

format_spec = 'r  %6.4f\ng  %6.4f\nb  %6.4f\n';
vals = rand(4,5,3);

temp_str = cellfun(@(x) sprintf(format_spec,x) ,...
    squeeze(mat2cell(permute(vals,[3 1 2]), ...
    [size(vals,3)],[ones(1,size(vals,1))],[ones(1,size(vals,2))])) ,...
    'UniformOutput',false);
temp_table = cell2table( temp_str );

writetable(temp_table,'test_table.xlsx'); %//where's my trailing newline?
xlswrite('test_cell.xlsx',table2cell(temp_table)); %//trailing newline preserved

使用xlswrite正确处理尾随换行符,但为了获得与writetable相同的功能,我必须添加其他代码来编写RowNamesVariableNames,以及将表内容的excel位置偏移一行一列。我想我已经开始使用xlswrite,但我的问题是如何/如何使用writetable完成此操作。

1 个答案:

答案 0 :(得分:0)

我就此问题与Mathworks联系,并被告知这是一个错误。目前,xlswrite必须用于保留尾随换行符。