如何在Excel单元格中将文本正确存储为数字

在网站上search其他主题后,没有find正确的答案,我打开我自己的线程。 如果存在,我没有看到请评论。

我通过编程方式创build一个Excel工作表通过C#(使用Microsoft.Office.Interop)。 我用soap请求填满单元格,等等等等。

问题是,对于每个字段,我都将值(货币)作为string,格式为XX,XX,XX (西class牙文化)。 所以当我用文本填充每个字段,如果string有“X”格式它是存储为数字,否则我有警告消息“数字存储为文本”

所以我已经尝试将string转换为数字,然后填充单元格,它有一个货币格式,结果是正确的在Excel表单中,但单元格的值是错误的四舍五入。

我只需要从string转换为十进制值,只有2个密码。

 xlRng = xlWorkSheet.get_Range("A2", "A100"); xlRng.Style.NumberFormat = "0,00"; xlWorkSheet.Cells[2,1] = Convert.ToSingle(stringWithValue); 

例如:

  • string值= 86,72
  • 单元格值(在Excel表格中)= 86,72 – >是的
  • 单元格值(在公式文本字段中)= 86,7200012207031

如果可能的话,远离双打和单打。

`=十进制(“86,72”,10)其中10是基数10

应该这样做。