0

PTVS 2.1 Beta 2 と IronPython 2.7.4 + Excel Interop を使用して、Excel の範囲にアクセスしています。Excel の範囲に含まれるデータを表示/印刷するにはどうすればよいですか? たとえば、A1 から D4 までの範囲を取得した場合、4x4 の 2D 配列 (16 セル) に含まれるデータを表示するにはどうすればよいですか。

xlrange = worksheet.Range["A1", "D4"] # 4x4 2D array.
print xlrange.Value2 # Does not display the contents of the 2D array.
4

1 に答える 1

0

Range.Value(または) は配列を返します。これは、相互運用境界を越えるValue2と、通常の .NET 配列 (つまり、から派生したもの) になります。System.Arrayそれらは自分自身を印刷する方法を知りません。ただし、それらは簡単に Python コレクションに変換できます。例えば:

print list(xlrange.Value2)

ただし、これにより配列が平坦化されます。それをリストのリストに変換したい場合は、手動で反復処理を行い、自分でリストを作成する必要があります。次に例を示します。

a = xlrange.Value2
print [[a[i, j] for j in range(0, a.GetLength(1))] for i in range(0, a.GetLength(0))]
于 2014-07-08T02:54:17.373 に答える