Не удается получить указанный формат времени при экспорте таблицы данных в Excel

#c# #excel #wpf

#c# #excel #wpf

Вопрос:

Я пытаюсь экспортировать таблицу данных в файл Excel с помощью Microsoft.Офис.Взаимодействие.Excel. Проблема в том, что я могу получить данные столбца TimeStamp, но не в определенном timeFormat, а в другом формате.

Несмотря на то, что я определил числовой формат как «МММ-дд-гггг чч: мм: ss tt», здесь я определил время в 12 часов, но после экспорта я получаю формат 24 часа, и tt определяется как значение AM / PM, но в Excel я получаю только tt

Скриншот столбца TimeStamp

 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 в столбце Timestamp

Ответ №1:

Вы можете преобразовать время в временную метку, например: 2019/3/31 15:32:37 в 1554017557. После чтения проблем с форматированием нет.