我的应用程序是在C#MVC中开发的,我正在使用Open XML 在Excel工作表中导出网格数据。网格有各种各样的列 持有金额字段。我在页面上有两个按钮,一个是北方的“NA” 美国格式和另一种格式是欧洲格式的“欧盟”。两个按钮 出口excel表。
按下“NA”时,导出excel Amount列值将被转换 如下,工作良好,
1000000 ----------> 1,000,000 (Format Code used : #,##0)
但是当按下“EU”时,导出的excel数值不是 按期望转换,无效。
1000000 ----------> 1000000.0 (Format Code used : #.##0)
在Open XML中,我将stylesheet.xml文件配置为
<x:numFmt numFmtId="169" formatCode="[>=1000]#,##0" /> // This works
<x:numFmt numFmtId="170" formatCode="[>=1000]#.##0" /> // This doesn't work
有人在这里有任何建议来解决这个问题。我甚至试图改变 Excel表格中的欧洲货币格式 自定义格式选项,但也不起作用。
我的预期结果是我无法实现的。
1000000 -----------> 1.000.000
答案 0 :(得分:1)
无法更改每个工作簿或每个工作表或每个单元格范围的十进制/千位分隔符。
您必须使用[>=1000]#,##0
格式。
如何显示取决于系统的区域设置或Excel的分隔符设置(文件/ Excel选项/高级)。
如果NA和EU的导出数据相同,您可以留下一个按钮进行导出。用户通常将分隔符设置为他们习惯使用的分隔符。