在excel中显示一个时间跨度

时间:2013-01-10 10:02:56

标签: c# sql excel timespan

我有一个时间跨度存储为sql中的varchar,格式为totalhours-totalminutes-totalseconds。 现在我必须将该信息导出到excel。

我遇到的问题是我无法在我的生活中找到excel中可以正确显示此信息的格式。有没有一种方法可以正确显示这些信息?我在C#中使用XLS输出此信息。

  

示例输入: 48:00:11

     

示例输出: 1900/02/17 12:11:00 AM或48.0076388888889

1 个答案:

答案 0 :(得分:3)

要进行格式化,您需要设置自定义时间格式:

[h]:mm:ss

...将显示持续时间超过24小时的小时数。如果在Excel单元格中键入“48:00:11”,它将为您创建自定义格式(至少,它刚刚在我的机器上的Excel 2007中完成)。删除格式显示该值为预期的double(所有非字符串都是):2.000127,这是持续时间的天数(以时间为分数)。

将该字符串值放入C#的工作表中可能会产生不同的结果:我怀疑您获得的48.007638 ...值。由于您可以使用C#,因此我倾向于在将值推送到Excel之前的几天计算时间跨度,然后按上面的格式进行格式化。