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

Nic*_*ner 0 f# excel-interop

我正在使用F#和Excel Interop.我做的事情如下:

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

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

我目前的解决方法是:

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

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

Bri*_*ian 7

let a : obj[] = [| "foo"; 3; ... |]
Run Code Online (Sandbox Code Playgroud)

给数组一个类型注释,它会自动向上转换元素.