C# 如何在Excel单元格中正确地将文本存储为数字
在搜索了网站上的其他主题后,没有找到正确的答案,我打开了自己的帖子。如果它存在,我还没有看到,请评论 我通过C#(使用Microsoft.Office.Interop)以编程方式创建Excel工作表。我用soap请求填充单元格,诸如此类 问题是,对于每个字段,我都将值(货币)作为字符串,格式如下C# 如何在Excel单元格中正确地将文本存储为数字,c#,excel,C#,Excel,在搜索了网站上的其他主题后,没有找到正确的答案,我打开了自己的帖子。如果它存在,我还没有看到,请评论 我通过C#(使用Microsoft.Office.Interop)以编程方式创建Excel工作表。我用soap请求填充单元格,诸如此类 问题是,对于每个字段,我都将值(货币)作为字符串,格式如下X,X,X或X,XX(西班牙文化)。因此,当我用文本填充每个字段时,如果字符串的格式为“X”,则将其存储为数字,否则将显示警告消息“数字存储为文本” 因此,我尝试将字符串转换为数字,然后填充具有货币格式的
X
,X,X
或X,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-->它是 对
- 单元格值(在公式文本字段中)=867200012207031
应该这样做。。如果可以的话,远离单打和双打,他们会给你带来这样的混乱。它很好用,非常简单…贴一个答案,我会接受的;)