C# RadGridView导出到Excel:在保留本地样式的同时格式化日期

C# RadGridView导出到Excel:在保留本地样式的同时格式化日期,c#,excel,silverlight,telerik,radgridview,C#,Excel,Silverlight,Telerik,Radgridview,我正在尝试将Telerik RadGridView中的一行导出到Excel。此行表示日期/时间 格式化此行数据的代码如下所示: if (DateTime.TryParse(value.ToString(), out dateTimeValue)) { cell.SetValue(dateTimeValue); return; } if (DateTime.TryParse(value.ToString(), out dateTimeValue)) { cell.SetV

我正在尝试将Telerik RadGridView中的一行导出到Excel。此行表示日期/时间

格式化此行数据的代码如下所示:

if (DateTime.TryParse(value.ToString(), out dateTimeValue))
{
    cell.SetValue(dateTimeValue);
    return;
}
if (DateTime.TryParse(value.ToString(), out dateTimeValue))
{
    cell.SetValue(dateTimeValue);
    cell.SetFormat(new CellValueFormat("MM/dd/yyyy hh:mm"));
    return;
}
问题是,如果值是午夜(这在我正在使用的应用程序中很常见),它不会显示时间。这是一个Excel功能,但在最终用户看来很奇怪(对我们来说很糟糕)

您可以通过在日期强制执行以下格式来解决此问题:

if (DateTime.TryParse(value.ToString(), out dateTimeValue))
{
    cell.SetValue(dateTimeValue);
    return;
}
if (DateTime.TryParse(value.ToString(), out dateTimeValue))
{
    cell.SetValue(dateTimeValue);
    cell.SetFormat(new CellValueFormat("MM/dd/yyyy hh:mm"));
    return;
}
但问题是日期格式是基于美国的。此应用程序在全球范围内使用,因此需要反映当地文化

您知道如何在从RadGridView导出时应用这种格式,同时尊重本地文化设置吗


提前感谢。

我没有关于
CellValueFormat
的任何信息,但此格式并不取决于您的
CurrentCulture
,因为您使用了
/
?在这个单元格部分中没有定义
IFormatProvider
的部分吗?关于斜杠等,你是对的。我不希望答案看起来像上面包含的那样。感谢您提出调查IFormatProvider的建议。我来看看。