2013-03-07 3 views
0

Ячейки таблицы Excel читаются с использованием объекта Microsoft.Office.Interop.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», что я мог бы но я не могу узнать, как проверить, является ли значение ячейки числом.

+0

Возможно, вы не понимаете свой вопрос, но как насчет использования теста сначала: 'IsNumeric (cell.Value2)' –

+0

IsNumeric, какой метод объекта это? – Maxim

+1

Извините, это конструкция VB - проверьте это: http://stackoverflow.com/questions/437882/what-is-the-c-sharp-equivalent-of-nan-or-isnumeric –

ответ

0

немного Hacky пути вокруг него, чтобы добавить апостроф в начале - первенствует обыкновение пытаться форматировать его, то

, например var value = 19.0000; cell.value = "'" + value;

0

Я использую эту функцию для этой цели:

Редактировать: для того, чтобы уточнить, он возвращает false, если он пуст/null, тогда он возвращает false, если какие-либо цифры не являются числом или десятичной точкой, и возвращает false, если существует более одной десятичной точки. В противном случае он возвращает true.

Смежные вопросы