【问题标题】:Values storable in Excel可存储在 Excel 中的值
【发布时间】:2011-04-18 15:48:40
【问题描述】:

晚上好!

哪些类型的值可以使用Range.Value2 直接存储到 Excel 工作表中,我如何快速检查特定值是否可以?

假设我有一组对象,可能是多类型的(例如,一个int、一个double 和一个Foo 存储在object[] 中)。

如果我选择宽度为 3 的范围并尝试使用 Range.Value2 存储此数组,这将导致异常(当然 Excel 不知道 Foo 是什么)。

我想出了一个检查数组中每个值的想法,如果它不可存储,则使用ToString() 将其转换为字符串表示形式。但是如何检查它最初是否可存储?

最终做这样的事情会很可怕:

public bool storable<T>(T value)
{
     return value is int  ||
            value is uint ||
            value is short ||
            value is byte ||
            ...
            value is string;
}

...尤其是知道每个is 都会将变量强制转换为测试类型并严重影响性能。

另一方面,我无法将 each 值预先转换为 string 类型,因为我有时希望能够使用数值而不是字符串来制作图形和图表。

你能告诉我我弄错了还是给我任何解决问题的方法? 谢谢!

【问题讨论】:

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


【解决方案1】:

我认为您将不得不做您不愿意做的事情(所有“是”检查),除非您可以以某种方式使输入数组的类型更强一些。您最好的选择可能是对演员表进行排序,以便最常见的演员首先受到打击。

【讨论】:

  • 这正是我所做的。我想没有别的办法了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-25
  • 1970-01-01
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多