AM/PM 在 Excel 导出中显示为 tt

AM/PM displaying as tt in Excel Export

我的 RadGrid 中有一个 GridDateTimeColumn。我正在使用自定义方法导出到 Excel。当我导出日期时,导出为“2/2/2017 1:38:34 tt”。它没有显示 AM 或 PM,而是在末尾显示 tt。

createdColumn.DataFormatString = "MM/dd/yyyy h:mm:ss tt";

我遇到了同样的问题。然后我将列的数字格式(显示日期)更改为 "Text"。这解决了我的问题。

ASPX

<telerik:GridDateTimeColumn HeaderText="Create Date" HeaderStyle-Width="13%" 
    ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Left" SortExpression="CreateDateDesc" DataField="CreateDate" DataType="System.String" DataFormatString="{0:MM/dd/yyyy hh:mm tt}" ></telerik:GridDateTimeColumn>

C#

protected void radGrdOrderHistory_InfrastructureExporting(object sender, Telerik.Web.UI.GridInfrastructureExportingEventArgs e)
{
 Telerik.Web.UI.ExportInfrastructure.Table tbl = e.ExportStructure.Tables[0];
 foreach (Telerik.Web.UI.ExportInfrastructure.Cell cell in tbl.Columns[9].Cells)
  {
     cell.Format = "@";
  }
}

我认为将 "tt" 更改为 "AM/PM" 就足够了。我在使用 EPPlus 时遇到了同样的问题,导致我 here 出现以下图片:

它在不更改列类型的情况下解决了我的问题。

我遇到了同样的问题。

我已进行以下更改以修复它。这将 tt 替换为 AM/PM

createdColumn.DataFormatString.Replace("tt","AM/PM")

希望对您有所帮助。