可存储在Excel中的值

时间:2011-04-18 15:48:40

标签: c# .net excel export-to-excel office-interop

晚上好!

可以使用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类型预先投出每个值,因为我有时希望能够使用数值来制作图形和图表,而不是字符串。

你能告诉我我错了或者解决了这个问题吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你将不得不做你不做的事(所有“是”检查),除非你能以某种方式使你的输入数组更强烈地输入。你最好的选择可能只是订购演员阵容,以便最常见的是先击中。