2016-06-20 15 views
0
  1. 私はxlswriteを使用しています。

私は1つのxlsxファイルの異なるシートに変数をたくさん入れています。xlswrite:シート名に変数名を表示またはどこか

1枚の変数1つ。

だから、変数の名前をシートの名前にしたいと思います。

これを実行するコマンドが見つかりませんでした。だから、おそらくこれはいくつかのpythonをコーディングし、そのpyファイルを呼び出すmatlabに1行しか持たないでください。

  1. これが不可能な場合は、最初の行に変数の名前を入れようとします。しかし、変数に1つ以上の列がある場合、vertcatは機能しないと言います。

    xlswrite( 'test.xlsx'、vertcat( 'A'、[1 3 1 2]))

私は何をすべきでしょうか?

======================

フォローアップの質問

私はSueverの回答に基づいて次のようにコード化されました。

function xlswr(file_name,varargin) 
xlswrite(file_name,varargin{i},inputname(i+1)) 

しかし、私は、次に

xlswr('test.xlsx', A, A(:,2)) 

することによって、この機能を呼び出すとき、Aはtest.xlsx上に印刷されているが、(:、2)はなかったです。

入力はAのようなだけで全体の名前ではなく、変数の一部が、それはそれをプリントアウトしていないときはいつでも。

どうすればこの問題を解決できますか?

答えて

1

1 x 1の文字列を2 x 2のデータに垂直連結して、明らかに次元のミスマッチが発生する可能性があるためです。

シート名を指定する場合は、third inputxlswriteを使用して、シート名を文字列として指定します。

xlswrite('test.xlsx', [1 3; 1 2], 'A') 

代わりにテキストや数値データを含めたい場合、あなたは常にセル配列ではなく、数値配列を渡すことができます。これにより、同じシートに文字列と数字が配置されます

xlswrite('test.xlsx', vertcat({'A', 'B'}, num2cell([1 3; 1 2]))); 
+0

ありがとうございました!しかし、xlswriteへの3番目の入力は入力の範囲です。これはどのように作動しますか? – user42459

+0

@ user42459どのバージョンのMATLABを使用していますか? – Suever

+0

私は覚えていませんが、気にしません。それはとてもうまくいく。どうもありがとうございます! – user42459

関連する問題