1

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

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

样本输入: 48 :00:11

样本输出: 1900/02/17 12:11:00 AM 或 48.0076388888889

4

1 回答 1

3

对于格式化,您需要设置自定义时间格式:

[h]:mm:ss

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

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

于 2013-01-10T11:05:43.840 回答