【发布时间】:2012-07-09 00:01:01
【问题描述】:
我有一个 VSTO 插件,并且正在从 Excel 工作表中读取数据。
似乎几乎所有数字数据都被读取为double。是否有可能从Range.Value 获得int 值?
这里有一些代码来说明我的意思。
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 会起作用,但似乎不行。
【问题讨论】:
-
我不认为你会得到一个 int - Excel 从不在内部将数字存储为一个 int,总是一个 double。
-
@Govert 好的,这就是我的怀疑,但我想确认一下。如果您发布答案(最好是有关该 Excel 小道消息的来源),我会接受。