1

文字列のセル配列がある場合、それをクリップボードにコピーして Excel スプレッドシートに貼り付けるにはどうすればよいですか (各文字列は個別のセルに入れられます)。のように 1 つの要素を貼り付けることができることはわかって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. 右クリック→コピー。好きなところに貼り付け!

Libre Office を使用した Linux の R2012b でこれをテストしました。Excelでも動作するはずです。

于 2012-12-18T06:45:59.337 に答える