c# - 忽略 OWC11 日期格式

标签 c# excel date format

我正在使用 owc11 创建 Excel 文档。我以 dd/mm/yyyy 格式提供日期。我在代码中做这样的事情:

for (..looping through results..)
{
    Range c = EmailStats.putCellValue(sheet, row, 1, val);
    c.set_NumberFormat("dd/mm/yyyy");
}

private static Range putCellValue(Worksheet sheet, int row, int col, String val) 
{
    Range cell = (Range) sheet.Cells[row, col];
    cell.set_Value(XlRangeValueType.xlRangeValueDefault, val);
    return cell;
}

现在,当我将 val 参数的日期格式设置为“dd/mm/yyyy”或根本不设置时,我得到的行为是从一个月的 1 日到 12 日的 mm/dd/yyyy然后它换回 dd/mm/yyyy。所以 owc11 认为它知道得更好,并交换周围的日期和月份(就像美国格式),当它超过 12 日时,它坚持使用英国格式。

Val 被声明为 String,因为它可能并不总是一个日期。它可能是日期、日期、用户名、组名等,具体取决于我们如何对数据进行分组/排序。也可以是几天的选择。

经过一段时间的试验后,我发现解决这个问题的唯一方法是使用 yyyy/mm/dd 的通用日期格式。但是,这可能会产生其他集成问题。所以我希望有一种方法可以强制执行 dd/mm/yyyy 格式,所以欢迎提出任何建议。

最佳答案

尝试将 val 设置为非字符串。尝试将 val 指定为 DateTime。

cell.set_Value(XlRangeValueType.xlRangeValueDefault, val);

关于c# - 忽略 OWC11 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2401311/

相关文章:

c# - System.Void类型如何为不返回值的方法指定返回值类型?

c# - 有什么办法可以加快 Excel 导入速度吗?

ios - 本周的天数列表

python - 操作系统错误: No suitable library found for xls

excel - 用逗号分隔家庭地址

ruby-on-rails - 为什么介于两者之间? ruby 中 Date 和 DateTime 的工作方式不同?

迄今为止的 Javascript 时间字符串

c# - 如何在 C# 中处理动态加载的托管库

c# - 关于 NVP 与 SOAP 差异和术语的问题

C# 从文件序列化数据契约(Contract)