我正在开发一个项目来创建一个显示MS Word 2010文档中时间的条形图。主程序将这些时间存储在List<TimeSpan>
我使用Word中的“插入图表”功能创建了一个示例word文档,并创建了一个不同时间的条形图(每个大约1小时,格式化为,例如,01:04:04。(使用此代码作为模板) )。
我查看了Open XML SDK 2.0 Productivity Tool,发现它是在反射代码中生成的(如上例所示):
numericValue9.Text = "4.449074074074074E-2"; //01:04:04
如果我想使用List<TimeSpan>
自动生成此内容,如何将TimeSpans转换为此小数值?那是TimeSpan.TotalDays
吗?
另外,查看Word文档(右键单击图表并选择编辑数据),我注意到“AM”附加到TimeSpan的末尾。 excel是否将我的时间跨度转换为日期时间?
答案 0 :(得分:1)
正如DJ KRAZE所提到的,这种情况发生的原因是由于格式的格式
Open XML假设为DataType = CellValues.String
,但如果它实际上不是字符串字符串,它将返回看起来不正确的内容(您的“小数字”)。
纠正此问题的方法只是将单元格格式化为文本。 您可以使用如下公式来执行此操作:
// A1 being what ever cell your original data is in
=TEXT(A1, "h:mm:ss")
结果: