I import some values from Excel sheets in C# application. One column is a text basically but can contain any values. I used the following:
Range range = ... // getting this from Excel, works fine
string myString = (string)range.Value2;
When the cell contains text, this is working. But when it contains, for example, 123, the debugger shows 123.0 for range.Value2 and conversion to string fails with exception.
I wonder, how to write the most general conversion for all kinds of cells. At least string and integer, may be float content.
I found the solution which may be not so nice but works:
myString = range.Value2 == null ? "" : range.Value2.ToString();
May be something better exists.
来源:https://stackoverflow.com/questions/30231413/casting-range-value2-of-excel-interop-to-string