0

我正在使用电子表格将数据导出到 Excel。我有定义字符串的时间值,我想转换或解析为时间跨度,但电子表格不接受时间跨度值。如何使用电子表格定义时间跨度?

这是我的代码:

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); 
  }
4

1 回答 1

0

这是我对这个问题的解决方案:

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));

如果需要周数、月数等,则开发一种划分天数的方法并输出此结果。

于 2019-03-14T11:20:46.890 回答