Можно ли получить int из Range.Value в VSTO?

У меня есть надстройка VSTO, и я читаю данные с листа Excel.

Кажется, что почти все числовые данные читаются как double. Можно ли когда-нибудь получить значение intиз Range.Value?

Вот некоторый код, чтобы продемонстрировать, что я имею в виду.

Worksheet w = (Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets["Sheet1"];
var value = ((Range)w.Cells[1, 1]).Value;
bool isInt = value is int;
bool isDouble = value is double;

Независимо от того, какой формат я использую на листе Sheet1, ячейка A1, isIntвсегда возвращает false.

Есть ли какой-то формат, который я должен использовать для получения int? Я думал, может быть, Generalили 0сработает,но вроде нет.

5
задан Kris Harper 9 July 2012 в 14:53
поделиться