我正在使用NPOI在电子表格中输入日期,然后在xls中我有公式= TEXT(InputDateNamedRange,&#34; yyyy / MM&#34;)以将日期格式化为文本以供在其他地方使用。< / p>
问题在于&#34; /&#34;格式字符串中的字符串正在替换为&#34; - &#34;。例如。 2014/04/25成为2014-04而非2014/04,正如我所料。
在我的电脑上它可以工作但是当我在另一台电脑上运行时会发生这种情况。当然机器应该不参与特定的格式字符串?
答案 0 :(得分:1)
看起来/
被解释为系统日期分隔符的占位符。
在Excel中(使用2013测试),它正常工作,正如the documentation预测的那样
如果您在 format_text 参数中包含以下任何字符,则它们将完全按输入显示。
然后列出正斜杠/
。
但在其他Microsoft产品中,/
是documented as the date separator,您可以使用\/
来&#34;转义&#34;它取消了它的特殊含义,并在输出中得到了一个文字/
。
由于NPOI是用.NET构建的,或许它实际上使用的是.NET规则而不是Excel规则?
由于Excel对=TEXT(value, "yyyy\/MM")
非常满意,我建议你使用它。
答案 1 :(得分:0)
我无法找到问题的答案,但我确实想出了一个解决办法:使用&#34;替代&#34; excel的功能取代&#34; - &#34;用&#34; /&#34;。对我来说足够好了。 (仍然想知道格式化程序没有做出被要求的原因)