查看/打印Excel互操作范围数据

时间:2014-07-07 22:45:40

标签: .net ironpython excel-interop ptvs

我使用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.

1 个答案:

答案 0 :(得分:0)

Range.Value(或Value2)将返回一个数组,一旦跨越互操作边界,它将成为常规.NET数组(即从System.Array派生的内容)。那些不知道怎么打印自己。但是,它们可以简单地转换为Python集合,可以。 E.g:

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))]