感谢您查看我的问题。
这基本上是我正在努力的
**Shift Start Time Break 1 Time Lunch Time Break 2 Time Shift End Time**
7:00:00 8:30:00 12:00:00 14:30:00 16:30:00
当我从我的.Net代码将此excel转换为XML时,Xcl中的时间值将转换为文本,因此数据会变坏。
Shift_x0020_Start_x0020_Time=''0.291666666666667''
Break_x0020_1_x0020_Time=''0.354166666666667''
Lunch_x0020_Time=''0.5''
Break_x0020_2_x0020_Time=''0.604166666666667''
Shift_x0020_End_x0020_Time=''0.6875''
这是XML生成的外观。我不希望这种情况发生,我想保留用户所拥有的实际时间值。请建议做什么。
答案 0 :(得分:0)
日期在Excel中存储为数字,时间为小数。因此,中午12点正好是0.5(半天)。在编写XML之前,您必须将分数转换为小时:分钟:秒自己在.net代码中。
n is the number given to you by Excel
h = n*24
hours = floor(h)
m = (h-hours) * 60
minutes = floor(m)
seconds = floor((m-minutes) * 60)
答案 1 :(得分:0)
任何来到这里寻找.net解决方案的人。这就是你如何在.net中完成的。
您可以使用:
public void FractionTOTime()
{
TimeSpan time = null;
time = TimeSpan.FromDays(Convert.ToDouble("2.0833333333333332E-2"));
Console.WriteLine(time.ToString());
}