【问题标题】:Unable to get mentioned Time Format while exporting DateTable to Excel将 DataTable 导出到 Excel 时无法提及时间格式
【发布时间】:2019-03-31 15:35:54
【问题描述】:

我正在尝试使用 Microsoft.Office.Interop.Excel 将 DataTable 导出到 Excel 文件。问题是,我能够获取 TimeStamp 列的数据,但不是以定义的 TimeFormat 格式,而是以其他格式。

尽管我将数字格式定义为“MMM-dd-yyyy hh:mm:ss tt”,但在这里我将时间定义为 12 小时,但导出后我得到的是 24 小时格式,并且 tt 被定义为获取 AM/PM值,但在 excel 中我只得到 tt

if (dataColumn.ColumnName == "Timestamp")
                {
                    DateTime[] result = data.Rows.Cast<System.Data.DataRow>()
                        .Select(row1 => Convert.ToDateTime(row1[dataColumn.ColumnName]))
                        .ToArray();


                    var data1 = new DateTime[result.Count(), 1];
                    for (int i = 0; i < result.Count(); i++)
                    {
                        data1[i, 0] = result[i];
                    }
                    var startCell = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[row + 1, col];
                    var endCell = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[row + result.Count(), col];
                    // worksheet.Range[startCell, endCell].Font.Bold = false;
                    worksheet.Range[startCell, endCell].NumberFormat = "MMM-dd-yyyy hh:mm:ss tt";
                    worksheet.Range[startCell, endCell].Value = data1;
                }

请提供建议以获取所需的 TimeFormat 和 tt 以在时间戳列中显示 AM/PM 值

【问题讨论】:

    标签: c# excel wpf


    【解决方案1】:

    可以将时间转换为时间戳,例如:2019/3/31 15:32:37 转为1554017557。读取后没有格式问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-24
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-23
      相关资源
      最近更新 更多