SpreadsheetLight не принимает тип времени - PullRequest
0 голосов
/ 25 мая 2018

Я использую электронную таблицу для экспорта данных в Excel.У меня есть значения времени, которые определили строку, и я хочу преобразовать или разобрать в Timespan, но SpreadSheetlight не принимает значение Timespan.Как я могу определить Timespan с помощью таблицы?

Вот мои коды:

var longTimeStyle = Document.CreateStyle();
longTimeStyle.Alignment.Horizontal = HorizontalAlignmentValues.Right;
longTimeStyle.FormatCode = CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern;

    for (int i = 0; i < shiftStatus.Count; i++)
  {
     Document.SetCellStyle(i + 2, 7, longTimeStyle);
     //shiftStatus[i].PreperationTime is string
     Document.SetCellValue(i + 2, 7, shiftStatus[i].PreperationTime); 
  }

1 Ответ

0 голосов
/ 14 марта 2019

Вот мое решение этой проблемы:

public string ConvertTimeSpanForExcel(TimeSpan ts)
{

  return String.Format($"{ts.Days} d. {ts.Hours} h. {ts.Minutes} min. {ts.Seconds} sec.");

}

Document.SetCellStyle(i + 2, 7, ConvertTimeSpanForExcel(shiftStatus[i].PreperationTime));

Если вам нужны недели, месяцы и т. Д., То разработайте метод деления дней и выведите этот результат.

...