0

我正在使用带有 IronPython 2.7.4 + Excel Interop 的 PTVS 2.1 Beta 2 来访问 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 回答