C# 在Excel XML工作表中格式化日期时间
使用ASP.NET生成Excel XML工作簿时,我将在一行中添加3个单元格,如下所示: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
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”)耸耸肩