在没有符号的Open XML中格式化欧洲货币数字格式的代码

我的应用程序是在C#MVC中开发的,我使用Open XML在Excel Sheet中导出网格数据。 网格有各种列,其中包含数量字段。 我在页面上有两个button,一个是北美格式的“NA”,另一个是欧洲格式的“EU”。 这两个button导出Excel表单。


当“NA”被按下时导出excel金额栏值转换为如下并运行良好

1000000 ----------> 1,000,000 (Format Code used : #,##0) 

但是,当“欧盟”被按下出口时,excel的数值并没有按照预期转换, 而是不起作用

 1000000 ----------> 1000000.0 (Format Code used : #.##0) 

在Open XML中,我将stylesheet.xml文件configuration为

 <x:numFmt numFmtId="169" formatCode="[>=1000]#,##0" /> // This works <x:numFmt numFmtId="170" formatCode="[>=1000]#.##0" /> // This doesn't work 

有没有人有任何build议来解决这个问题。 我甚至尝试通过自定义格式选项更改欧洲货币的Excel工作表单元格格式,但这也不起作用。

我预期的结果是我无法实现的。

 1000000 -----------> 1.000.000 

没有办法更改每个工作簿或每个工作表或每个单元格区域的十进制/千位分隔符。

您必须使用[>=1000]#,##0格式。

它如何显示取决于系统的区域设置或Excel的分隔符设置(文件/ Excel选项/高级)。

如果导出的数据对于NA和EU都是相同的,则可以留下一个button用于导出。 用户通常将分隔符设置为他们习惯的分隔符。

https://social.technet.microsoft.com/Forums/office/en-US/eaa4c7f6-197a-4b33-bc5f-20896e5a7e3a/workbook-or-worksheet-specific-decimal-separator?forum=excel