在XML Excel中 - 什么时候ss:ArrayRange =“RC”开始发挥作用?

时间:2013-02-25 06:42:11

标签: xml excel

<Cell ss:StyleID="s27"
 ss:ArrayRange="RC"
 ss:Formula="=SUM(IF(MOD(COLUMN(RC[1]:RC[9]),3)&lt;&gt;MOD(COLUMN(),3),0,RC
    [1]:RC[9]))">
<Data  ss:Type="Number">3</Data></Cell>

嗨,我有一个创建Excel XML文件的系统。现在我们有了这个公式,我们不能只按下输入公式,必须按CTRL + SHIFT + ENTER才能成功“提交”。

现在,当我手动添加公式并保存它,然后在记事本中打开XML Excel文件时,我看到已添加ss:ArrayRange="RC"。我需要将其添加到我的代码中,但我不知道何时需要使用ss:ArrayRange="RC"以及它意味着什么。

1 个答案:

答案 0 :(得分:2)

ss:ArrayRange指定数组formuala和范围

请参阅MSDN article

摘自文章

属性: ss:ArrayRange

描述:指定我们应用数组公式的单元格范围。指定数组公式时,只有左上角的单元格包含ArrayRange和Formula属性。范围中的其他单元格不包含ArrayRange或Formula。只要ss:ArrayRange属性出现在数组的左上角,此引用可以是任何有效引用。例如,这意味着如果我在单元格A1:B2中有一个数组,A1必须具有ArrayRange属性,但指定的范围引用可以是B1:A2。

示例:

<ss:Table>
    <ss:Row ss:Height="3">
        <ss:Cell ss:ArrayRange="R1C1:R2C2" 
                      ss:Formula="={1,2;3,4}">
            <ss:Data ss:Type="Number">1</ss:Data>
        </ss:Cell>
        <ss:Cell>
            <ss:Data ss:Type="Number">2</ss:Data>
        </ss:Cell>
    </ss:Row>
    ...
</ss:Table>