Excel 互操作在我的数字格式字符串中添加斜杠

Posted

技术标签:

【中文标题】Excel 互操作在我的数字格式字符串中添加斜杠【英文标题】:Excel interop adding slashes in my number formatting string 【发布时间】:2014-10-30 10:10:53 【问题描述】:

我正在尝试将数字格式(南非兰特货币,无小数)设置为如下范围:

range.NumberFormat = "_ R * # ##0_;";

其中range 的类型为Microsoft.Office.Interop.Excel.Range

但是,当我打开电子表格并通过选择自定义格式检查格式化字符串时,字符串现在看起来像这样:

_ \R * #\ ##0_;

这些添加的斜线意味着只有第一个千位分隔符(一个空格)存在,其余的都被省略了。

我也试过这个:

range.NumberFormat = @"_ R * # ##0_;";

我尝试过 MSDN,但这个特定的文档对我来说就像胡言乱语:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.range.numberformat.aspx

但它做同样的事情。有人知道如何防止这种情况发生吗?

【问题讨论】:

【参考方案1】:

设置NumberFormatLocal 属性似乎已经为我解决了:

range.NumberFormatLocal = "_ R * # ##0_;";

不知道为什么......并且很高兴接受一个更完整的答案来解释为什么会出现问题以及为什么会解决它。

【讨论】:

以上是关于Excel 互操作在我的数字格式字符串中添加斜杠的主要内容,如果未能解决你的问题,请参考以下文章

excel纯数字日期自动如何变成斜杠格式

如何在 C# Excel 互操作中格式化公式结果?

excel如何将数字日期变成斜杠日期

excel表格中怎么把日期的斜杠或横杠变换成点?

Excel表格输入时间是斜杠的格式怎么转换成横杠的格式

表格日期斜杠怎么弄