使用Excel Interop混合字符串和数字

时间:2012-09-18 19:09:17

标签: f# excel-interop

我正在使用F#和Excel Interop。我正在做类似的事情:

workbook.Range("A1:A10").Value2 <- [| "foo"; "3"; "bar"; "6"; "8" |]

当我查看生成的电子表格时,它将“3”,“6”和“8”存储为字符串而不是数字。这意味着公式等失败。有没有办法让Excel在适当的位置将字符串转换为数字?

我目前的解决方法是:

workbook.Range("A1:A10").Value2 <- [| "foo" :> obj
                                      3 :> obj
                                      "bar" :> obj
                                      6 :> obj
                                      8 :> obj |]

它产生了预期的效果,但它很尴尬。有更好的方法吗?

1 个答案:

答案 0 :(得分:7)

let a : obj[] = [| "foo"; 3; ... |]

为数组提供类型注释,它将自动向上转换元素。