晚上好!
可以使用Range.Value2
将哪些类型的值直接存储到Excel工作表中,如何快速检查特定值是否可以?
假设我有一个对象数组,可能是多个(例如一个int
,一个double
和一个Foo
存储在object[]
中。
如果我选择宽度范围3并尝试使用Range.Value2
存储此数组,则会导致异常(当然Excel不知道什么是Foo
)。< / p>
我想出了检查数组中每个值的想法,如果它不可存储,则使用ToString()
将其转换为字符串表示形式。但是我如何检查它是否最初可存储?
最终做这样的事情会很可怕:
public bool storable<T>(T value)
{
return value is int ||
value is uint ||
value is short ||
value is byte ||
...
value is string;
}
...尤其要知道每个is
会将变量投射到测试类型并严重影响性能。
另一方面,我无法为string
类型预先投出每个值,因为我有时希望能够使用数值来制作图形和图表,而不是字符串。
你能告诉我我错了或者解决了这个问题吗? 谢谢!
答案 0 :(得分:1)
我认为你将不得不做你不做的事(所有“是”检查),除非你能以某种方式使你的输入数组更强烈地输入。你最好的选择可能只是订购演员阵容,以便最常见的是先击中。