如何检查单元格值是否为数字

时间:2013-03-07 17:35:07

标签: c# excel vsto

使用Microsoft.Office.Interop.Excel对象读取Excel电子表格的单元格。 我需要找出数字值的格式并相应地应用。 例如,我有19.0000的值但是当它被读取时,Value2将是“19”但是我需要保持它“19.0000”

Excel.Range sheetRange = xlWorksheet.Range["A1", lastCell];
var cell = sheetRange.Cells[row, col];
cell.Value2 == "19";

有一个NumberFormat属性返回格式字符串,如“0.0000”,我可以使用,但我无法找到如何检查单元格值是否为数字。

2 个答案:

答案 0 :(得分:0)

它的一个hacky方式是在开头添加一个撇号 - excel不会尝试格式化然后

例如

var value = 19.0000; cell.value = "'" + value;

答案 1 :(得分:0)

我为此目的使用此功能:

SimpleDateFormat

编辑:详细说明,如果它为空/空则返回false,如果任何数字不是数字或小数点则返回false,如果有多个小数点则返回false。否则,它返回true。