如何使用TCL / tcom在Excel工作表单元格中存储数组元素

时间:2012-03-05 22:51:46

标签: excel tcl

我想将数组元素存储在Excel工作表中。我怎样才能做到这一点? 以下是数组的示例代码:

for {set i 0} { $i < 3} {incr i} {
    set color($i) $i    
}

现在如何在不同的单元格中存储颜色(0),颜色(1),颜色(2)?

修改 基于此tcom example,我一直在尝试将数组元素存储在Excel工作表中。

1 个答案:

答案 0 :(得分:2)

查看命令array setarray get

for {set i 0} { $i < 3} {incr i} {
    set color($i) $i    
}

set nvList [array get color]

变量nvList现在具有值0 0 1 1 2 2(请注意注释)。使用array get,您将获得数组的名称 - 值表示。如果您致电array set,则可以再次将nvList转换为数组。

这就是你需要的吗?

修改:基于您的评论的另一个示例:

# building example array with 100 elements
for {set r 1} {$r <= 100} {incr r} {
    set color($r) $r
}

set rows [array size color]
set columns {A B C}

for {set row 1} {$row <= $rows} {incr row} {
    foreach column $columns {
        $cells Item $row $column $color($row)
    }
}

修改:基于您的评论的另一个(第二个)示例:

array set atten {...}
array set transmit {...}

set rows [array size atten]
for {set row 1} {$row <= $rows} {incr row} {
    $cells Item $row "B" $atten($row)
} 

set rows [array size transmit]
for {set row 1} {$row <= $rows} {incr row} {
    $cells Item $row "C" $transmit($row)
}