C# 在Excel XML工作表中格式化日期时间

C# 在Excel XML工作表中格式化日期时间,c#,asp.net,excel,C#,Asp.net,Excel,使用ASP.NET生成Excel XML工作簿时,我将在一行中添加3个单元格,如下所示: sb.Append(String.Format( "<Cell><Data ss:Type=\"DateTime\">{1}</Data></Cell>{0}", Environment.NewLine, item.DateAvailable.ToString("yyyy-MM-ddTHH:mm:ss.fffffffK") )); // newlines a

使用ASP.NET生成Excel XML工作簿时,我将在一行中添加3个单元格,如下所示:

sb.Append(String.Format(
"<Cell><Data ss:Type=\"DateTime\">{1}</Data></Cell>{0}",
Environment.NewLine, 
item.DateAvailable.ToString("yyyy-MM-ddTHH:mm:ss.fffffffK")
)); // newlines added for readability;
excel中的值:

 40761,2299142361
手动转换单元格格式后:

 6-08-11 5:31
但是,在转换时,它会在excel中以数字形式输出,单元格格式设置为自定义。当我手动将单元格格式更改回DateTime时,是否正确???日期以正确的格式显示。但当然,企业不会接受这样的原始数据,他们必须自己转换;)

也许我使用了错误的字符串格式

在这种情况下,编写日期时间并以正确的日期时间格式输出到Excel中的正确格式是什么?

是的,您使用的是“错误”字符串格式,即Excel无法自动识别(或正确解析)为日期的格式。放下
T
。此外,Excel中的日期-时间格式至少舍入到毫秒,如果不是整数秒,那么您也可以去掉一些小数点

这应该起作用:

item.DateAvailable.ToString("yyyy-MM-dd HH:mm:ss.ffff")
是的,您使用的字符串格式是“错误的”,即Excel不能自动识别(或正确解析)为日期的格式。放下
T
。此外,Excel中的日期-时间格式至少舍入到毫秒,如果不是整数秒,那么您也可以去掉一些小数点

这应该起作用:

item.DateAvailable.ToString("yyyy-MM-dd HH:mm:ss.ffff")

我发现如果没有“t”这个词,它就不会起作用。ie time.ToString(“yyyy-MM-ddTHH:MM:ss.ffff”)shrugsI发现,如果没有“t”,它将无法工作。ie time.ToString(“yyyy-MM-ddTHH:MM:ss.ffff”)耸耸肩