我正在尝试使用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
相同的功能,我必须添加其他代码来编写RowNames
和VariableNames
,以及将表内容的excel位置偏移一行一列。我想我已经开始使用xlswrite
,但我的问题是如何/如何使用writetable
完成此操作。
答案 0 :(得分:0)
我就此问题与Mathworks联系,并被告知这是一个错误。目前,xlswrite
必须用于保留尾随换行符。