将字符串的单元格数组粘贴到剪贴板中

时间:2012-12-17 22:00:11

标签: matlab

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

2 个答案:

答案 0 :(得分:4)

<强>答案

诀窍是以制表符分隔数据:分隔列的选项卡,分隔行的换行符。

下面的代码可以重写以提高效率(通过消除每行的字符串连接)但你明白了。对于庞大的数据集,最好使用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

答案 1 :(得分:0)

如果你不想搞乱自动化,这是一个非常简单的方法:

  1. 双击工作区中的变量。
  2. Variables窗口中,单击左上角的框以选择整个单元格阵列。
  3. 右键单击 - &gt;复制。粘贴到你喜欢的地方!
  4. 我已经使用Libre Office在Linux中使用R2012b进行了测试。它也应该与Excel一起使用。