私は基本的に、はるかに大きなプログラムで使っているMatLabの小さなスクリプトを持っています。このスクリプトは基本的にデータをExcelファイルに書き出します。Excelに正しく書き込むようにMatLabスクリプトを変更するにはどうすればよいですか?
スクリプトは、セルを横切って水平にデータを書き込み、以下の通りである:カラム-Zとの間でデータを書き込む場合
function writevar(x,k,filename)
col = char(64+k);
N = size(x,1);
Rg = sprintf([col '1:' col '%i' ],N);
xlswrite(filename,x,Rg)
end
スクリプトが完璧に動作します。しかし、一度Zの列に達するとクラッシュします。どのようにしてZを越えてAA、ABなどに書き込むことができるようにスクリプトを修正することができますか(それはCRに向かう必要があります)。
ありがとうございました。
あなたの問題は、ライン '文字で次のようになります。ここでは一般的なケースでは、列名に
k
を変換する必要がありスニペットです(64 + k)となる。 'Z'(90)のASCIIコードに達すると、' ['(91)のASCIIコードが得られます。 この場合、左に2番目の文字を追加し、最初の文字を64(ASCIIでは「A」)にリセットする必要があります。あなたはZZまで問題なく乗れます。 –@BlackAdderああ私は、ありがとう! – Cypher236
[Excelの列番号をMatlabの列名に変換する]の可能な複製(http://stackoverflow.com/questions/14261648/convert-excel-column-number-to-column-name-in-matlab) – excaza