【发布时间】:2016-09-27 16:45:51
【问题描述】:
我正在使用 ASP.Net 中的 EPPlus 创建一些 Excel 文件。一切都很好,除了在某些情况下,我需要显示一个短日期格式。使用 EPPlus NumberFormat,我可以应用短日期格式:
ws.Column(1).Style.Numberformat.Format = "yyyy-MM-dd";
在我的电子表格中输出一个日期为2015-07-21。尽管这是通用的,但如果可能的话,我更喜欢本地化(基于用户区域设置)的格式。我可以通过以下方式检索用户区域设置的短日期格式:
String s = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
对于在英国的我来说,这将返回 dd/MM/yyyy。其他使用 EPPlus 的作者参考Open Office XML ECMA-376 spec (50MB) 来应用数字格式。第 1768 页显示了这一点:
但是这里的m 都是小写的,在.Net 中不是几个月而是几分钟,所以如果我这样做有什么问题/不兼容吗?
ws.Column(1).Style.Numberformat.Format = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
我没有资源来测试每种文化的日期格式,所以想知道我的方法是否有问题?
或者,我应该按照规范转换 ShortDatePattern ToLower 以忽略大写的 MM 吗? Excel(2013)本身对自定义日期格式使用小写,所以我认为小写方法更好?我已经用这两种格式做了测试(使用大写/小写mm),结果是一样的,但是跨文化的事情让我很担心。
【问题讨论】:
标签: asp.net .net excel excel-2013 epplus