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

时间:2015-04-08 15:24:24

标签: c# excel

在网站上搜索其他主题后找不到正确的答案我打开自己的主题。如果它存在且我还没有看到请发表评论。

我通过C#以编程方式创建Excel工作表(使用Microsoft.Office.Interop)。我用肥皂请求填充细胞,等等等等。

问题是,对于每个字段,我将值(货币)作为字符串,具有以下格式XX,XX,XX(西班牙文化)。因此,当我用文本填充每个字段时,如果字符串具有" X"格式化它存储为数字,否则我有警告消息"数字存储为文本"

所以我尝试将字符串转换为数字,然后填充具有货币格式的单元格,结果就在excel表格中,但单元格值是错误的舍入。

我只需要将字符串转换为只有2个密码的十进制值。

xlRng = xlWorkSheet.get_Range("A2", "A100");
xlRng.Style.NumberFormat = "0,00";

xlWorkSheet.Cells[2,1] = Convert.ToSingle(stringWithValue);

例如:

  • 字符串值= 86,72
  • 单元格值(在excel表中)= 86,72 - >它' S 对。
  • 单元格值(在公式文本字段中)= 86,7200012207031

1 个答案:

答案 0 :(得分:1)

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

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

应该这样做。