1

如果我有一个字符串单元格数组,将其复制到剪贴板以便我可以将其粘贴到 Excel 电子表格中的最佳方法是什么(每个字符串都进入一个单独的单元格)?我知道我可以像这样粘贴一个元素:clipboard('copy', x{1}),但是我怎样才能快速粘贴整个内容x呢?

4

2 回答 2

5

回答

诀窍是用制表符分隔数据:制表符分隔列,换行符分隔行。

下面的代码可以重写以提高效率(通过消除每一行的字符串 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
于 2012-12-17T23:36:51.960 回答
0

如果您不想弄乱自动化,这是一种非常简单的方法:

  1. 双击工作区中的变量。
  2. Variables窗口中单击左上角的框以选择整个单元阵列。
  3. 右键单击-> 复制。粘贴到任何你喜欢的地方!

我已经在 Linux 中使用 R2012b 和 Libre Office 对此进行了测试。它也应该适用于 Excel。

于 2012-12-18T06:45:59.337 回答