如何在Excel单元格中将文本正确存储为数字
在网站上search其他主题后,没有find正确的答案,我打开我自己的线程。 如果存在,我没有看到请评论。
我通过编程方式创build一个Excel工作表通过C#(使用Microsoft.Office.Interop)。 我用soap请求填满单元格,等等等等。
问题是,对于每个字段,我都将值(货币)作为string,格式为X
, X,X
或X,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
应该这样做。