使用oledb从Excel中读取公式

我正在使用C#.net(4.0),并试图通过将我的参数放入一个Excel文件来计算一些结果。 这个excel文件已经得到了所需的公式。 例如,当我在单元格A1,A2和A3中input我的参数时,计算结果值并显示在单元格a4中。 单元格a4具有使用来自a1,a2和a3的值的公式。

我可以使用oledb provider(v4.0)轻松连接到这个excel文件,然后我也可以设置a1,a2和a3的单元格值。 结果出现在单元格a4(我打开excel文件来检查)。 但唯一的问题是,当我读取单元格a4的值时,它不会按原样返回。

在a4中计算的值:6.67%我在同一个单元的.net代码中得到的值:0.092323323211 …(像这样)

作为一种解决scheme,我试图将a3的“值”部分复制到其他单元格中(如b3 = VALUE(a3)),并尝试读取b3。 但是我得到同样的结果。

有没有解决这个问题? 我是否错过了这里特定于制定的细胞? 还是MS oledb的错误?

感谢您的任何投入….

尝试将IMEX = 1添加到连接string中。