将Excel的Range.Value2转换为string

我从C#应用程序中的Excel工作表中导入一些值。 一列基本上是一个文本,但可以包含任何值。 我使用了以下内容:

Range range = ... // getting this from Excel, works fine string myString = (string)range.Value2; 

当单元格包含文本时,这是工作。 但是当它包含例如123时,debugging器显示范围为123.0 .Value2和转换为string失败,exception。

我想知道,如何编写各种单元格的最普遍的转换。 至less是string和整数,可能是浮动内容。

我发现这个解决scheme可能不是很好,但工作:

 myString = range.Value2 == null ? "" : range.Value2.ToString(); 

可能是更好的存在。