2016-10-10 7 views
1

私はmapleの反復計算を行っています。各反復の結果データをExcelファイルの特定の列に格納します。例えば、私のデータは反復ループを使用してデータをExcelにエクスポート

mydat||1:= <<11,12,13,14>>:

mydat||2:= <<21,22,23,24>>:

mydat||3:= <<31,32,33,34>>:

などがあります。 私はそれらをそれぞれExcelファイルにエクスポートしようとしています。各データを同じExcelファイルの連続した列に保存する必要があります。たとえば、mydat || 1はA列に、mydat || 2はB列に、以下同様に続きます。私は次のようなことを試みました。

with(ExcelTools): 
for k from 1 to 3 do 
Export(mydat||k, "data.xlsx", "Sheet1", "A:C"): #The problem is selecting the range. 
end do: 

どのようにここで適切に範囲を選択しますか?上記の方法でデータとストアをエクスポートする方法はありますか?

答えて

2

これを行うにはいくつかの方法があります。一番簡単なことは、すべてのデータを1つのデータ構造に入れてからエクスポートすることです。たとえば:

mydat1:= <<11,12,13,14>>: 
mydat2:= <<21,22,23,24>>: 
mydat3:= <<31,32,33,34>>: 
mydata := Matrix(< mydat1 | mydat2 | mydat3 >); 

これはmydat1は最初の列であるマトリックス内にデータを格納し、mydat2はどちらか、この形式のデータと第二のカラム、などであるExcelTools:-Export以上の一般的なExportコマンドが動作します:

ExcelTools:-Export(data, "data.xlsx"); 
Export("data.xlsx", data); 

ここで繰り返し計算を行っていると言われているので、結果を列ごとに書き出すことができます。結果を格納する別のデータ構造の作成を伴わない別の方法があります。これは、mydat "i"のデータがループの前に作成されたと仮定します。

for i to 3 do 
    ExcelTools:-Export(cat(`mydat`,i), "data.xlsx", 1, ["A1","B1","C1"][i]); 
end do; 

あなたがそれを構築しているとして、ファイルへのアウトデータを書き込みたい場合は、単に、各列の作成後にエクスポート呼び出しを行うすなわち

ExcelTools:-Export(mydat1, "data.xlsx", 1, "A1"); 

なお、私は"||"を削除しました。文字。これらはMapleでconcatenationのために使用され、2番目の方法で問題が発生しました。

関連する問題