如果我有一个单元格字符串数组,将其复制到剪贴板的最佳方法是什么,以便将其粘贴到Excel电子表格中(每个字符串都进入一个单独的单元格)?我知道我可以像这样粘贴一个元素:clipboard('copy', x{1})但是,如何快速粘贴的全部内容x?
回答
诀窍是制表符分隔数据:制表符分隔列,换行符分隔行。
可以重写下面的代码以提高效率(通过消除每一行的字符串concat),但是您明白了。对于庞大的数据集,最好dlmwrite()避免使用内存限制。
例
function fancyClipboard(myCell)
if ~iscell(myCell), error('Input must be a cell'); end
if ndims(myCell) > 2, error('Only 1D & 2D cells supported.'); end
str = [];
newline = sprintf('\n');
for i = 1:size(myCell, 1);
row = sprintf('%s\t', myCell{i,:});
row(end) = newline;
str = [str row]; %#ok<AGROW>
end
clipboard('copy',str);
end
Run Code Online (Sandbox Code Playgroud)